Label and label-based authorization, subscription management and market information pushing method

By using binary sequences of tags to represent the business attributes and their relationships of the target object, the problem of redundant and inefficient screening process in the prior art is solved, and the effect of simplifying screening and improving efficiency is achieved.

CN120104899APending Publication Date: 2025-06-06SHANGHAI LIANGTOU NETWORK TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311659412.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-12-05
Publication Date
2025-06-06

AI Technical Summary

Technical Problem

The prior art has cumbersome steps, low efficiency, and is not friendly to computer processing in the target screening process, and has complexity in sequence and priority.

Method used

Using labels, the business attributes and relationships of the target object are represented through continuous binary sequences, simplifying the screening process and improving efficiency.

Benefits of technology

Through encoding, the business attribute values ​​and combination logic are solidified in the label, and the labels in the form of integers are directly compared. The method is unified, the process is simple, and the screening is efficient.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120104899A_ABST
    Figure CN120104899A_ABST
Patent Text Reader

Abstract

The invention relates to a label and a label-based authorization, subscription management and market information pushing method. The label is used for screening the target object, the label is a continuous binary sequence, and the binary sequence is used for representing at least two service attributes of the target object and the relationship between the at least two service attributes. According to the technical scheme, the screening process can be simplified, and the screening efficiency can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of target identification and screening, and specifically to a tag, a dictionary, tag-based authorization, subscription management, market information push method, electronic device and computer-readable storage medium. Background Art

[0002] Among the related technologies, information technology has been widely used in all aspects of the national economy. In various information systems, the screening of processed information targets plays a role, such as: (1) in the access control link, screening authorized / forbidden information items; (2) in the transaction link, screening out orders with certain characteristics; (3) in the information push link, screening out content that matches the subscription of the receiving end, etc.

[0003] For the screening of targets, the method in the related technology is to compare the relevant business attributes of the targets one by one to obtain the results of compliance or non-compliance, and combine each such result with logical operations (and, or) to form the final result.

[0004] The advantage of the above approach is that it allows domain experts to express themselves naturally, but it is not user-friendly for computers to process information and has some obvious limitations. For example, (1) the steps are cumbersome: for scenarios with many combinations of target attributes, there are obviously many steps; and the combination of step results will introduce complexity in order and priority; (2) the efficiency is low: the screening process has many steps and is long. Summary of the invention

[0005] The purpose of this application is to provide a tag, tag-based authorization, subscription management and market information push method, which can simplify the screening process and improve screening efficiency.

[0006] According to a first aspect of an embodiment of the present application, a label is provided, the label is used to filter a target object, the label is a continuous binary sequence, and the binary sequence is used to represent at least two business attributes of the target object and the relationship between the at least two business attributes.

[0007] In one embodiment, the binary sequence is divided into M coding sections, the M coding sections are used to represent M groups of business attributes of the target object in a one-to-one correspondence, and the M coding sections are arranged according to the relationship between the M groups of business attributes; wherein each of the coding sections includes at least one coding unit, each of the coding units is used to represent the corresponding business attribute, the coding unit includes at least one binary bit, and M is a positive integer.

[0008] In one embodiment, the relationship between two adjacent coding sections is a sequential relationship or a parallel relationship.

[0009] In one embodiment, when the relationship between two adjacent coding sections is a sequential relationship, the two adjacent coding sections are arranged in descending order or ascending order.

[0010] In one implementation, when the relationship between two adjacent coding sections is a parallel relationship, the matching priority of the coding section with a greater service differentiation is higher than the matching priority of the coding section with a smaller service differentiation.

[0011] In one implementation, the same encoding section uses the same encoding method, and different encoding sections use the same or different encoding methods.

[0012] In one implementation, the encoding method of the encoding section is enumeration method or sequence method.

[0013] In one implementation, the relationship between the encoding units in the same encoding section is a parallel relationship.

[0014] In one implementation, in the coding section, all reasonable values ​​of the business attributes are enumerated, or all unreasonable values ​​of the business attributes are enumerated.

[0015] In one embodiment, in the coding section, when the number of reasonable values ​​of business attributes is less than the number of unreasonable values ​​of business attributes, all reasonable values ​​of business attributes are enumerated; when the number of unreasonable values ​​of business attributes is less than the number of reasonable values ​​of business attributes, all unreasonable values ​​of business attributes are enumerated.

[0016] In one implementation, in the encoding section, service attribute values ​​of fixed terms are enumerated.

[0017] In one embodiment, the tag comprises a subtag, wherein the subtag is formed by at least one consecutive coding section.

[0018] In one embodiment, the label includes a preceding coding section and a subsequent coding section, the preceding coding section is adjacent to the subsequent coding section, and the relationship between the preceding coding section and the subsequent coding section is a sequential relationship. If the value of the preceding coding section is different, the value of the subsequent coding section will also be different. A corresponding sub-label is formed for each value of the preceding coding section.

[0019] In one implementation, the service attribute is a direct attribute or an indirect attribute.

[0020] According to a second aspect of an embodiment of the present application, a tag-based authorization management method is provided, including:

[0021] After the client logs in to the server, it constructs a subscription tag to indicate subscription or unsubscription;

[0022] When the subscription tag is used to represent a subscription, the client generates a subscription request based on the subscription tag and sends it to the server, so that after receiving the subscription request, the server forms a subscription result tag according to the intersection of the pre-stored authorization tag and the subscription tag;

[0023] When the subscription tag is used to indicate cancellation of subscription, the client generates a cancellation request based on the subscription tag and sends it to the server, so that after receiving the cancellation request, the server forms a new subscription result tag based on the difference between the cached latest subscription result tag and the subscription tag; the authorization tag is used to indicate information that authorizes the client to subscribe, and the subscription result tag is used to indicate the subscription result of the client.

[0024] According to a third aspect of an embodiment of the present application, a tag-based subscription management method is provided, including:

[0025] After the client logs in to the server, it constructs a subscription tag to indicate subscription or unsubscription;

[0026] The client generates a subscription request or an unsubscribe request based on the subscription tag and sends it to the server, so that after receiving the subscription request, the server forms a subscription result tag based on the intersection or difference of the pre-stored authorization tag and the subscription tag. The authorization tag is used to indicate the information that the client is authorized to subscribe to, and the subscription result tag is used to indicate the subscription result of the client.

[0027] According to a fourth aspect of an embodiment of the present application, a tag-based market information push method is provided, comprising:

[0028] The server constructs a feature tag for the market information, wherein the feature tag is used to identify the feature of the market information;

[0029] The server matches the feature tag with the pre-stored subscription result tag of the client, and if they match, pushes the market information to the client; if they do not match, does not push the market information to the client.

[0030] According to a fifth aspect of an embodiment of the present application, there is provided a method for encoding the above-mentioned label, including:

[0031] Obtaining a pre-stored dictionary, the dictionary including at least two business attributes of the target object and a relationship between the at least two business attributes;

[0032] The dictionary is encoded to obtain the label.

[0033] According to a sixth aspect of an embodiment of the present application, a dictionary is provided, comprising the above-mentioned encoding rules for tags.

[0034] According to the seventh aspect of an embodiment of the present application, there is provided an electronic device, comprising a memory and a processor, wherein the memory is used to store a computer program executable by the processor; the processor is used to execute the computer program in the memory to implement the above method.

[0035] According to an eighth aspect of an embodiment of the present application, a computer-readable storage medium is provided, on which a computer program is stored, characterized in that when the executable computer program in the storage medium is executed by a processor, the above method can be implemented.

[0036] Compared with the prior art, the beneficial effect of the present application is that: by encoding the label used to screen the target object into a continuous binary sequence, the binary sequence is used to represent at least two business attributes of the target object and the relationship between at least two business attributes, that is, by encoding, the business attribute value and its combination logic are solidified in the label in advance, and when screening the target object, it is only necessary to directly use the label in integer form to perform arithmetic comparisons such as equality, greater than or less than. The method is unified, the process is simple, and the screening is efficient. Therefore, the technical solution provided by the present application can simplify the screening process and improve the screening efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0037] Figure 1 The figure is a schematic diagram of a structure of a label according to an exemplary embodiment.

[0038] Figure 2 is a schematic structural diagram of a label according to another exemplary embodiment.

[0039] Figure 3 The figure is a flowchart of a tag encoding method according to an exemplary embodiment.

[0040] Figure 4 is a schematic structural diagram of a label according to another exemplary embodiment.

[0041] Figure 5 is a schematic structural diagram of a label according to another exemplary embodiment.

[0042] Figure 6 is a schematic structural diagram of a label according to another exemplary embodiment.

[0043] Figure 7 The figure is a flow chart of a tag-based authorization management method according to an exemplary embodiment.

[0044] Figure 8 The figure is a flowchart of a tag subscription management method according to an exemplary embodiment.

[0045] Fig. 9 The present invention is a flowchart of a method for pushing market information based on tags according to an exemplary embodiment.

[0046] Fig.10 It is a block diagram of an electronic device according to an exemplary embodiment. DETAILED DESCRIPTION

[0047] Unless otherwise defined, the technical terms or scientific terms used in this specification and claims shall have the usual meanings understood by persons with ordinary skills in the technical field to which this application belongs. The specific implementation modes of this application will be described below in conjunction with the accompanying drawings. It should be noted that in the specific description of these implementation modes, in order to provide a concise description, this specification cannot provide a detailed description of all the features of the actual implementation modes. Without departing from the spirit and scope of this application, those skilled in the art may modify and replace the implementation modes of this application, and the resulting implementation modes are also within the scope of protection of this application.

[0048] For the screening of targets, the method in the related technology is to compare the relevant business attributes of the targets one by one to obtain the results of compliance or non-compliance, and combine each such result with logical operations (and, or) to form the final result.

[0049] The advantage of the above approach is that domain experts can express themselves naturally, but it is not friendly enough for computers to process information and has some obvious limitations: (1) The steps are cumbersome: For scenarios with many combinations of target attributes, there are obviously many steps; and the combination of step results will introduce complexity in order and priority; (2) Difficulty in expression: Not only do we need to describe the relevant attributes one by one without ambiguity, but we also need to describe the relationship between them: divide different attribute sets and describe the effective combination of attribute values ​​in the attribute set; (3) The process is repeated: for each target to be screened, it is necessary to repeat: determine the attribute set, identify the attribute value, and combine the attribute values ​​to obtain the final result; (4) Inefficiency: The screening process has many steps and the process is long; (5) Highly invasive: The specific details of the business field are reflected in the screening process, so its differences are naturally contagious to the screening process. Therefore, the screening process is not universal, and the execution process must be completely re-formulated for different business fields.

[0050] In order to solve the above technical problems, this application proposes a tag, tag-based authorization, subscription management and market information push method, which can simplify the screening process, improve screening efficiency, separate business logic extraction from coding work, reduce the difficulty of coding, and have scalability and good versatility.

[0051] An embodiment of the present application provides a label. The label is used to filter target objects. The label is a continuous binary sequence, and the binary sequence is used to represent at least two business attributes of the target object and the relationship between at least two business attributes. That is, through encoding, the business attribute value and its combination logic are solidified in the label in advance. In this way, when filtering the target object, it is only necessary to directly identify the label. Moreover, when filtering the target object, it is only necessary to directly use the label in integer form to perform arithmetic comparisons such as equality, greater than or less than. The method is unified, the process is simple, and the screening is efficient.

[0052] The tags in this application can not only be used in information systems, but also can be used for classification and identification of traditional things, such as commodities, buildings, etc.

[0053] The following is a detailed introduction to the tags provided in this application from five aspects: tag structure, section order, sub-tags, encoding, and dictionary.

[0054] (I) Structure

[0055] In one embodiment, the tag is a continuous binary sequence, consisting of n coding units, each coding unit is used to represent the corresponding service attribute, the coding unit includes at least one binary bit, and n is a positive integer. In practice, the size of n depends on the value of the service attribute, which is called the capacity of the coding unit.

[0056] In one embodiment, each encoding unit in the tag includes one binary bit, so the tag can represent at most 2 n In another embodiment, a portion of the coding units in the tag may include one binary bit, and another portion of the coding units may include two binary bits. In other embodiments, the number of binary bits of the coding units in the tag may be determined according to actual needs and is not limited to the one or two bits mentioned above.

[0057] In one embodiment, the business attribute may be a direct attribute. In one embodiment, the business attribute may also be an indirect attribute, for example, it may be a lower-level attribute of the target object. Generally, the lower the level of the business attribute, the better, so that it is more flexible and can represent more high-level attribute values. The technical solution of the present application requires that the orthogonality of the business attributes be given priority in the encoding process. For the sake of simplicity, the difference between direct attributes and indirect attributes is ignored below.

[0058] In one embodiment, according to the correlation of business attributes, the coding units can be divided into M groups, and the coding units in the same group are organized on adjacent binary bits. Such a group of binary bits is called a coding section, and the number of binary bits in the section is called the size of the section, and M is a positive integer. That is, the label is a continuous binary sequence, and the binary sequence can be divided into M coding sections. The M coding sections are used to represent the M groups of business attributes of the target object in a one-to-one correspondence, and the M coding sections are arranged according to the relationship between the M groups of business attributes. Among them, each coding section includes at least one coding unit, each coding unit is used to represent the corresponding business attribute, and the coding unit includes at least one binary bit.

[0059] like Figure 1 As shown, in an exemplary embodiment, the tag has 4 coding sections U1, U2, U3, and U4. The first coding section U1 has 3 coding units u1, u2, and u3; the second coding section has 5 coding units u4, u5, u6, u7, and u8; the third coding section has 5 coding units u9, u10, u11, u12, and u13; and the fourth coding section has 4 coding units u14, u15, u16, and u17. Except for the 13th coding unit u13, which includes 2 binary bits, each of the other coding units only includes one binary bit.

[0060] (II) Section sequence

[0061] The so-called section order refers to the order of all the coding sections in the tag. For example, the two business attributes of the target object may or may not have an inclusion relationship in terms of objective business. We call the former a sequential relationship and the latter a parallel relationship, because the order of expression of the former directly affects the correctness of the business, while the order of expression of the latter does not affect the correctness of the business. In the tag, the coding section of the business attributes with a sequential relationship is called a sequential section, and the coding section of the business attributes with a parallel relationship is called a parallel section.

[0062] The technical solution provided by this application stipulates that the sequence nodes must be sorted, either in descending or ascending order. Since the binary sequence starts with a mathematical integer, based on people's intuition that "large numbers represent large ranges", unless otherwise stated, this application defaults to a descending order, that is, the containing node is in front and the contained node is in the back. In this way, potential target objects can be quickly screened out based on the range of integers.

[0063] In one embodiment, the relationship between two adjacent coding sections in the tag may be a sequential relationship or a parallel relationship.

[0064] In one embodiment, when the relationship between two adjacent encoding sections is a sequential relationship, the two adjacent encoding sections may be arranged in descending order. In other embodiments, when the relationship between two adjacent encoding sections is a sequential relationship, the two adjacent encoding sections may be arranged in ascending order.

[0065] In one embodiment, when the relationship between two adjacent coding sections is a parallel relationship, the matching priority of the coding section with a large business differentiation is higher than the matching priority of the coding section with a small business differentiation. The business differentiation of a business attribute can be determined according to the proportion of the amount of data screened from the database by the business attribute, and the greater the proportion of the amount of data screened, the greater the business differentiation.

[0066] In one embodiment, when the matching priority of the binary bit at a high position in the binary sequence is higher than the matching priority of the binary bit at a low position, the code section with a large business differentiation is located at a high position, and the code section with a small business differentiation is located at a low position. In this way, if there are multiple matching scenarios, when using tags, the previous code section can be matched first, so as to quickly eliminate irrelevant data in the upstream of the data processing path and effectively reduce the downstream load.

[0067] Generally speaking, parallel sections are not forced to be sorted, but it is recommended that the coded sections with greater business differentiation be placed in the front, and the coded sections with less differentiation be placed in the back. For example, in the scenario of "selecting 8-year-old girls for basic dance training in an elementary school", the screening object has two attributes: whether it is 8 years old, and whether it is a girl. Usually, there are 6 grades in elementary schools, and students are distributed in 6 age groups, while there are only two genders, male and female. After screening by age, one-sixth of the items are left; and after screening by gender, one-half of the items are left. Therefore, the business differentiation of the age attribute is greater than that of gender, and the age coding section (or unit) is generally placed in front.

[0068] The discussion of section order also applies to the order of coding units. Only parallel coding units can be included in the same coding section. Only when the coding section is too large or there are huge differences in business perspectives, parallel coding units will be organized into multiple parallel coding sections. Whether it is a sequential section or a parallel section, the coding units within the section must be parallel.

[0069] In one embodiment, the same coding section uses the same coding method, and the coding methods of different coding sections can be the same or different. For example, the coding method of some coding sections in the label can be enumeration method, and the coding method of other coding sections can be sequence method.

[0070] In one embodiment, the relationship between the encoding units in the same encoding section is a parallel relationship.

[0071] For parallel coding units and parallel coding sections, as long as the business allows, the binary bit value combination can be unlimited. Generally, for scenarios where all the combined values ​​are not all reasonable in the business, this application requires enumeration of all reasonable values ​​or unreasonable values, and generally chooses the one with relatively fewer values ​​for enumeration. In addition, it is also recommended to enumerate the values ​​with fixed terms in the business.

[0072] In one embodiment, all reasonable values ​​of the business attributes may be enumerated in the coding section. In another embodiment, all unreasonable values ​​of the business attributes may be enumerated in the coding section.

[0073] In one embodiment, in the coding section, when the number of reasonable values ​​of the business attribute is less than the number of unreasonable values ​​of the business attribute, all reasonable values ​​of the business attribute are enumerated, and when the number of unreasonable values ​​of the business attribute is less than the number of reasonable values ​​of the business attribute, all unreasonable values ​​of the business attribute are enumerated. The fewer the business attribute values ​​in the coding section, the higher the screening efficiency. Therefore, the screening efficiency can be improved.

[0074] In one embodiment, in the coding section, the service attribute values ​​of the fixed terms are also enumerated.

[0075] (III) Sub-tags

[0076] A subtag is a new tag formed by several consecutive coding sections in a tag. The semantics of each section of the subtag remains consistent with the semantics of the source tag. Subtags can be used when you do not want to expose redundant information.

[0077] In one embodiment, the tag of comprises a subtag formed by at least one consecutive coding section.

[0078] Another scenario is when there are sequential sections, the preceding coded section has multiple value combinations, and the subsequent coded sections have different values ​​when the preceding section value is different. In this case, the label will "split", and for different combination values ​​of the preceding coded section, one sub-label will be formed for each value.

[0079] In one embodiment, the label includes a preceding coding section and a subsequent coding section, the preceding coding section is adjacent to the subsequent coding section, and the relationship between the preceding coding section and the subsequent coding section is a sequential relationship. If the value of the preceding coding section is different, the value of the subsequent coding section will also be different. A corresponding sub-label is formed for each value of the preceding coding section.

[0080] The combination of internal coding unit values ​​in the sequence section can only be performed when the values ​​of the affected coding units in the subsequent coding section are the same. This is because, due to the sequence relationship, the value of the subsequent coding section is the part contained in the previous coding section, that is, the part of each parallel coding unit in the previous coding section. Obviously, conversely, the values ​​contained in each parallel coding unit of the previous coding section can only be the same. In the business, when the parallel coding units of the previous coding section must contain different values, a label must be split into multiple labels. According to the same principle, the previous coding sections with the same subsequent coding section values ​​can coexist in one label. The number of labels after the split is at most the size of the previous coding section (at this time, the subsequent values ​​of each previous coding section are different).

[0081] In an exemplary embodiment, a survey report on the vacancy rates of real estate "office buildings" and "residential buildings" in "Beijing", "Shanghai" and "Guangzhou" may use the following tag structure when using the tags of this application to represent the report results, such as Figure 2 As shown: there are 2 coding nodes in total, the first coding node U1 represents the city, the size is 3, the size of each coding unit is 1, the three coding units u1, u2, u3 respectively represent whether it is "Beijing", "Shanghai" and "Guangzhou"; the second coding node U2 represents the vacancy rate, the size is 2, the size of each coding unit is 1, the two coding units u4 and u5 respectively represent "whether the vacancy rate of office buildings is high" (abbreviated as "write high") and "whether the vacancy rate of residential buildings is high" (abbreviated as "residential building high").

[0082] When the vacancy rates of office buildings and residential buildings in Beijing, Shanghai and Guangzhou are high, it can be represented by one label: 11111.

[0083] When the vacancy rates of both office buildings and residential buildings in Beijing and Shanghai are high, but only the vacancy rate of office buildings in Guangzhou is high, one label must be divided into two to represent: the vacancy rates of both office buildings and residential buildings in Beijing and Shanghai are high, represented by the following label: 11011; the vacancy rate of only office buildings in Guangzhou is high, represented by the following label: 00110.

[0084] The fissioned labels are represented by sub-labels: Beijing and Shanghai share a vacancy rate sub-label: 11, and Guangzhou's vacancy rate sub-label is: 10. In this way, a sub-label mapping of the city vacancy rate is formed: (110, 11) and (001, 10), which is represented in decimal as (6, 3) and (1, 2). Using the sub-label representation method can sometimes avoid unnecessary constant definitions.

[0085] (IV) Coding

[0086] According to the business characteristics, select the attribute set, then group the attribute set according to the relevance of the business attributes, and then determine the order of the groups according to the relationship between the group attributes. If the number of values ​​that a coding unit can represent is equal to the number of business attribute values, the coding unit is called a full-value coding unit, or a full-value unit for short; otherwise, it is called a non-full-value unit.

[0087] Taking the coding unit as a unit, encode it one by one according to the following steps:

[0088] 1) Determine the capacity of the coding section. The capacity of the coding section should be as small as possible while being able to accommodate all business attribute values. Assuming the number of business attribute values ​​is n and the capacity of the coding section is c, then there should be: c-1 <n≤2 c When the equal sign in the equation holds, the coding unit is called a full-value coding unit, or full-value unit for short; otherwise, it is called a non-full-value unit.

[0089] 2) First, assign all binary bits of the coding unit to 0;

[0090] 3) For business attributes with only two values ​​(hereinafter referred to as two-value attributes), their values ​​can be converted into the semantics of true and false (if they are not true and false originally), with 1 representing true and 0 representing false.

[0091] 4) For multi-valued attributes (attribute values ​​​​more than 2), the encoding can start from 0 and increase by 1 each time, and the serial number can correspond to the value of the business attribute.

[0092] (V) Dictionary

[0093] The rules defined in the encoding process and the record of constants are dictionaries. That is, the dictionary includes the encoding rules of the tags and the constants used in the process of using the tags for screening. According to the dictionary, the specific business attributes represented by the tags can be interpreted from the tags. The dictionary in this application includes but is not limited to the following:

[0094] 1) Description of the encoding method;

[0095] 2) The tag structure defined in the encoding process, and the corresponding relationship between each encoding unit and the service attribute value; the tag structure includes at least two service attributes of the target object and the relationship between at least two service attributes;

[0096] 3) "Constants" and "masks" commonly used in the object screening process. The so-called "constants" refer to fixed labels, representing a combination of business attribute values ​​for a fixed business scenario; while "masks" are values ​​constructed based on the computer binary bit operation principle to extract specific information from labels.

[0097] 4) The actual boundary values ​​during the encoding process (i.e., the description of valid values ​​and invalid values ​​in non-full value units).

[0098] 5) "Invalid value" description, that is, the description of the value that is unreasonable in business. The value of several orthogonal coding units combined from a mathematical perspective may not be reasonable in business, and special descriptions are required to facilitate identification and warning during processing.

[0099] 6) A list of constants and descriptions of specific terms (fixed terms) in the corresponding business.

[0100] The present application also provides a method for encoding a label. Figure 3 As shown, the encoding method of the label includes the following steps:

[0101] Step 301: Obtain a pre-stored dictionary, where the dictionary includes at least two business attributes of a target object and a relationship between at least two business attributes.

[0102] In one embodiment, a dictionary may be pre-compiled and stored by a driving business expert. The pre-stored dictionary may be obtained when a coding tag is needed. The driving business expert may consider the business attributes and corresponding business attribute values ​​in the business scenario, find effective business combinations, exclude invalid combinations, summarize logical branches, and compile a dictionary. The codec personnel may encode according to the dictionary.

[0103] Step 302: Encode the dictionary and obtain labels.

[0104] In one embodiment, codec personnel can obtain labels through coding dictionaries.

[0105] In this embodiment, the driving business expert pre-compiles and stores the dictionary. When a coding label is needed, the pre-stored dictionary can be obtained, and the label can be obtained by coding the dictionary. In this way, the business logic extraction and coding work can be separated, which reduces the difficulty of coding.

[0106] The technical solution provided by this application is particularly suitable for information processing systems. In particular, the more binary attributes and orthogonal attributes the processing object has, the more applicable the solution of this application is, for example, a typical order processing system, a patient consultation system, a market push system, etc. The following takes the market push system as an example to introduce the application of the above tags.

[0107] The embodiment of the present application also provides a label and application for a trading quotation push system. A server responds to subscription requests from multiple clients according to preset access rights and pushes quotation information to the clients. It has the following characteristics (or the following requirements for constructing such a system):

[0108] 1. Authorization management: the client can subscribe to the market information of which products and which exchanges; expressed by exchange, product, and contract type;

[0109] 2. Subscription management: The client actually subscribes to the market information of which products and which exchanges; expressed by exchange, product, and contract type;

[0110] 3. Market information push: whether the market information matches the customer's subscription requirements.

[0111] For the sake of ease of explanation, this trading information push system is applied to the domestic futures trading market: there are 6 exchanges, including SHFE, DCE, CZCE, INE, CFFEX, and GFFEX. The contract types are futures and options. The exchange with the most varieties has less than 30.

[0112] Based on the above content, the label can be constructed as follows:

[0113] 1) The binary sequence of the label is divided into three sections. The first coding section is used to indicate the exchange, the second coding section is used to indicate the product, and the third coding section is used to indicate the contract type.

[0114] 2) The first coding section: The size is set to the number of exchanges, that is, 8 coding units u1, u2, u3, u4, u5, u6, u7, and u8 are defined. Coding units u1, u2, u3, u4, u5, and u6 correspond to 6 exchanges respectively, and coding units u7 and u8 are reserved for the extension bits of 2 exchanges. The size of each coding unit is 1, and the binary attribute is whether it is "authorized / subscribed / for" the corresponding exchange. Each coding unit corresponds to an exchange, as shown in the following example: Figure 4 If it is a positive "authorization / subscription / action", the corresponding coding unit bit is set to 1, otherwise it is set to 0.

[0115] 3) The second coding section: the size is set to 54, defining 54 coding units P 1 , P 2 , P 3 ……、P 53 , P 54 , supports up to 54 varieties. If it is less than 54 varieties, the following binary is the reserved extension bit, as shown in the following figure. Figure 5 As shown in the figure. Similar to the first coding section, the coding unit size is 1, and the binary attribute is "authorized / subscribed / for" corresponding to the corresponding exchange product. Each coding unit corresponds to one product, and the extra coding units are reserved as extension bits. Figure 5 As shown, P n The nth product of the corresponding exchange. (Note: The serial number of the product must be fixed within the scope of the exchange.)

[0116] 4) The third coding section: Contract type, size is 2, defines two coding units Future and Option, the size of the coding unit is 1, takes binary semantics, whether it is a futures contract or an option contract, as follows: Figure 6 shown.

[0117] In summary, a label including exchange, product, and contract type has been developed. The label has a total of 64 bits, which happens to be a 64-bit integer. It can support up to 8 exchanges, each exchange can support up to 54 products, and each product supports two types of contracts. It can be simply concluded that:

[0118] 1) Tag 0 means all denial, no permission is authorized, no information is subscribed, and no market information is pushed;

[0119] 2) Label 2 63 -1 means full affirmation, authorizing all permissions, subscribing to all information, and pushing all market information;

[0120] 3) Similarly, we can easily enumerate label constants that confirm / negate all varieties of a certain exchange.

[0121] The present application also provides a tag-based authorization management method. Figure 7 As shown, the tag-based authorization management method includes the following steps:

[0122] Step 701: The server constructs an authorization tag, which is used to select specially selected information.

[0123] In step 702, the server associates the authorization tag with the client, or cancels the association after association; if the association is granted, it means that the client is allowed to use the information matching the authorization tag; if the association is denied, it means that the client is prohibited from using the information matching the authorization tag.

[0124] When performing authorization management, one or more authorization tags are constructed for the client (for multiple scenarios, see the description in the "sub-tag" section. For simplicity, it is assumed that one tag is constructed for the client) to indicate the market conditions that the client can subscribe to, and to select the selected information, which is the market information that the client can subscribe to. In this embodiment, the application of tag-based authorization management includes: encoding to form a tag, and associating the tag with the client to indicate grant or rejection (for convenience, the normal terminology is used below, i.e., grant).

[0125] The server may associate the authorization tag with the client. If the association between the authorization tag and the client is grant, it indicates that the client is allowed to use the information matching the authorization tag. If the association is deny, it indicates that the client is prohibited from using the information matching the authorization tag.

[0126] After the server associates the authorization tag with the client, it can also disassociate the authorization tag from the client.

[0127] The server can associate the same authorization tag with multiple clients, and a client can also be associated with multiple authorization tags at the same time.

[0128] The present application also provides a tag-based subscription management method. Figure 8 As shown, the tag-based subscription management method may include the following steps:

[0129] Step 801: After logging into the server, the client constructs a subscription tag to indicate subscription or unsubscription.

[0130] Step 802, when the subscription tag is used to represent a subscription, the client generates a subscription request based on the subscription tag and sends it to the server, so that the server forms a subscription result tag according to the intersection of the pre-stored authorization tag and the subscription tag after receiving the subscription request; when the subscription tag is used to represent a cancellation of a subscription, the client generates a cancellation request based on the subscription tag and sends it to the server, so that the server forms a new subscription result tag according to the difference between the cached latest subscription result tag and the subscription tag after receiving the cancellation request; the authorization tag is used to represent the information that the authorized client can subscribe to, and the subscription result tag is used to represent the subscription result of the client.

[0131] When subscribing to market information, the client first logs in to the market information push server (hereinafter referred to as the server). After successful login, the client is in the "authenticated state". When the client is in the "authenticated state", it can construct one or more subscription tags (for multiple scenarios, see the description of the "sub-tags" section. For simplicity, it is assumed that 1 subscription tag is constructed for the client) to represent the market information to be subscribed, and generate a subscription request based on the subscription tag and send it to the server.

[0132] In one embodiment, when the client successfully logs in, the server loads the pre-stored market authorization information tag corresponding to the client into the cache. When receiving the client's subscription request, the server retrieves the authorization tag corresponding to the client in the cache, and intersects the authorization tag with the subscription tag to form a subscription result tag. The authorization tag is used to indicate the information that the authorized client can subscribe to, and the subscription result tag is used to indicate the client's subscription result.

[0133] In another embodiment, when a subscription tag is used to represent a subscription, the client generates a subscription request based on the subscription tag and sends it to the server. After receiving the subscription request, the server forms a candidate subscription result tag based on the intersection of the pre-stored authorization tag and the subscription tag. If the client did not have a formal subscription result tag before, the candidate subscription result tag is upgraded to a formal subscription result tag. If the client did have a formal subscription result tag before, the previous formal subscription result tag is merged (binary AND) with the candidate subscription tag result to form a new formal subscription result tag. The server only caches the client's latest formal subscription result tag.

[0134] In summary, the application of market subscription involves two steps of tag application: 1) Encoding: The client encodes the content to be subscribed to form a subscription tag; 2) Information extraction: Using the subscription tag representing the subscription requirement as a mask, a binary "AND" operation is performed with the authorization tag representing the subscription to form a subscription result tag, which represents the actual market that can be subscribed.

[0135] The subscription tag is also used to indicate unsubscription. The client can also generate an unsubscription request based on the subscription tag and send it to the server, so that after receiving the unsubscription request, the server forms a new subscription result tag based on the difference between the cached latest subscription result tag and the subscription tag.

[0136] For example, the identifiers of the market information that the server authorizes the client to subscribe to are: a, b, c, d, and the authorization tag includes: a, b, c, d.

[0137] The identifiers of the market information subscribed by the client for the first time include: a, b, f. The first subscription tag includes: a, b, f. The client sends a subscription request to the server. After receiving the subscription request, the server forms a first subscription result tag based on the intersection of the pre-stored authorization tag and the first subscription tag. The first subscription result tag includes: a, b (f will not be included in the result because it is not authorized).

[0138] Then, the client cancels the subscription to the market information with the market identifier b, and the second subscription tag includes b. The client can generate a subscription cancellation request based on the second subscription tag and send it to the server. After receiving the subscription cancellation request, the server forms a second subscription result tag based on the difference between the cached latest subscription result tag (the first subscription result tag) and the second subscription tag. The second subscription result tag includes a, that is, (a, b)-(b)=(a).

[0139] The present application also provides a method for pushing market information based on tags. Fig. 9 As shown, the tag-based market information push method may include the following steps:

[0140] Step 901: The server constructs a feature tag for market information, where the feature tag is used to identify the features of the market information.

[0141] In one embodiment, a 64-bit binary sequence may be taken, and the value of the coding unit corresponding to the exchange, product, and contract type to which the market information belongs may be set to 1 through a coding dictionary to obtain an identity tag of the market information.

[0142] Step 902, the server matches the feature tag with the pre-stored subscription result tag of the client, and if they match, pushes the market information to the client; if they do not match, does not push the market information to the client.

[0143] When pushing market information, the business rule for determining whether a certain market information should be pushed is to see whether the receiving end (client) has made a relevant subscription. If it has subscribed, it will be pushed, otherwise it will not be pushed. Therefore, when pushing market information, the server matches the identity tag of the market information with the pre-stored subscription result tag of the client. If they match, the market information will be pushed to the client. If they do not match, the market information will not be pushed to the client.

[0144] From the above market push process, it can be seen that the data to be processed (market information) only needs to be encoded once, and the encoded identity tag can be reused (compared with the subscription tags of different receiving ends). The encoding and processing information form reusable tags, which reduces the difficulty of expression; encoding and comparison both use binary as an operation, which is the most efficient calculation method of computers. Therefore, efficient screening and push can be achieved.

[0145] The following is a comparison of some key features between the traditional solution and the solution provided in this application:

[0146] Table 1 Comparison of key features between traditional solutions and this application solution

[0147]

[0148]

[0149] The technical solution provided by this application has the following advantages:

[0150] 1. Through encoding, the business attribute value and its combination logic are solidified in the label in advance. When using it, you only need to directly use the label in integer form to perform arithmetic equality, greater than or less than comparison. The method is unified, the process is simple, and the screening is efficient.

[0151] 2. You can use the entire label or extract partial information of the label to form sub-labels for target screening, which has sufficient information and good flexibility:

[0152] a) By using the progressive relationship of the coding section and integers for range comparison, you can quickly perform range-based target screening;

[0153] b) Using the mask, several continuous or discontinuous local information of the coding section can be quickly extracted for screening.

[0154] 3. Turn coding into an independent work step. On the one hand, it drives business experts to actively think about the business attributes and corresponding business attribute values ​​in the business scenario, find effective business combinations, eliminate invalid combinations, summarize logical branches, and compile dictionaries. The output result (dictionary) has clear requirements and elements, which promotes the precipitation and communication of business knowledge. Encoding and decoding personnel can carry out other related work based on the dictionary. It can separate the extraction of business logic from the application (such as programming) work, reducing the difficulty of application.

[0155] 4. It is scalable. When reconstructing the business in the traditional way, if it is necessary to add or delete attributes of the attribute set, it often involves changes in the interface. The labels in this application carry a sufficient amount of information, which is excessive for most scenarios. Therefore, to add attributes, it is only necessary to utilize the business attributes that were previously ignored, and to delete business attributes, it is only necessary to ignore the business attributes, which has good versatility. As long as the business attributes involved in the addition and deletion are in the encoding attribute set of the label, this method can be used without modifying the interface of the information system, which is a huge benefit to its stability and testing work.

[0156] An embodiment of the present application further proposes an electronic device, comprising a processor and a memory; the memory is used to store a computer program executable by the processor; the processor is used to execute the computer program in the memory to implement the method of any of the above embodiments.

[0157] The embodiments of the present application further provide a computer-readable storage medium, which can implement the method of any of the above embodiments when the executable computer program in the storage medium is executed by a processor.

[0158] Regarding the device in the above embodiment, the specific manner in which the processor performs the operation has been described in detail in the embodiment of the method, and will not be elaborated here.

[0159] Fig.10110 is a block diagram of an electronic device according to an exemplary embodiment. For example, the electronic device 1000 can be provided as a server. Referring to FIG. 110 , the device 1000 includes a processing component 1022, which further includes one or more processors, and a memory resource represented by a memory 1032 for storing instructions executable by the processing component 1022, such as an application. The application stored in the memory 1032 may include one or more modules, each corresponding to a set of instructions. In addition, the processing component 1022 is configured to execute instructions to perform the above method.

[0160] The device 1000 may also include a power component 1026 configured to perform power management of the device 1000, a wired or wireless network interface 1050 configured to connect the device 1000 to a network, and an input / output (I / O) interface 1058. The device 1000 may operate based on an operating system stored in the memory 1032, such as Windows Server™, MacOS X™, Unix™, Linux™, FreeBSD™, or the like.

[0161] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 1032 including instructions, which can be executed by the processing component 1022 of the device 1000 to perform the above method. For example, the non-transitory computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc.

[0162] In the present application, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance. The term "plurality" refers to two or more than two, unless otherwise clearly defined.

[0163] The above description of the embodiments is to facilitate those of ordinary skill in the art to understand and apply the present application. It is obvious that those familiar with the art can easily make various modifications to these embodiments and apply the general principles described herein to other embodiments without having to pay creative labor. Therefore, the present application is not limited to the embodiments herein, and improvements and modifications made by those skilled in the art based on the contents disclosed in the present application without departing from the scope and spirit of the present application are within the scope of the present application.

Claims

1. A label, It is characterized in that The tag is used to filter the target object. The tag is a continuous binary sequence. The binary sequence is used to represent at least two business attributes of the target object and the relationship between the at least two business attributes.

2. The label according to claim 1, It is characterized in that The binary sequence is divided into M coding sections, the M coding sections are used to represent the M groups of business attributes of the target object in a one-to-one correspondence, and the M coding sections are arranged according to the relationship between the M groups of business attributes; wherein each of the coding sections includes at least one coding unit, each of the coding units is used to represent the corresponding business attribute, the coding unit includes at least one binary bit, and M is a positive integer.

3. The label according to claim 2, It is characterized in that The relationship between two adjacent coding nodes is a sequential relationship or a parallel relationship.

4. The label according to claim 3, It is characterized in that When the relationship between two adjacent code sections is a sequential relationship, the two adjacent code sections are arranged in descending order or ascending order.

5. The label according to claim 3, It is characterized in that When the relationship between two adjacent coding sections is a parallel relationship, the matching priority of the coding section with greater service differentiation is higher than the matching priority of the coding section with less service differentiation.

6. The label according to claim 2, It is characterized in that The same encoding section adopts the same encoding method, and the encoding methods of different encoding sections are the same or different.

7. The label according to claim 2, It is characterized in that The encoding method of the encoding section is enumeration method or sequence method.

8. The label according to claim 2, It is characterized in that The relationship between the encoding units in the same encoding section is a parallel relationship.

9. The label according to claim 2, It is characterized in that In the coding section, all reasonable values ​​of the business attributes are enumerated, or all unreasonable values ​​of the business attributes are enumerated.

10. The label according to claim 2, It is characterized in that In the coding section, when the number of reasonable values ​​of business attributes is less than the number of unreasonable values ​​of business attributes, all reasonable values ​​of business attributes are enumerated; when the number of unreasonable values ​​of business attributes is less than the number of reasonable values ​​of business attributes, all unreasonable values ​​of business attributes are enumerated.

11. The label according to claim 2, It is characterized in that In the coding section, the service attribute values ​​of the fixed terms are enumerated.

12. The label according to claim 2, It is characterized in that A subtag is included, wherein the subtag is formed by at least one consecutive section of the coding.

13. The label according to claim 2, It is characterized in that It includes a preceding coding section and a subsequent coding section, wherein the preceding coding section is adjacent to the subsequent coding section, and the relationship between the preceding coding section and the subsequent coding section is a sequential relationship. If the value of the preceding coding section is different, the value of the subsequent coding section will also be different. A corresponding sub-label is formed for each value of the preceding coding section.

14. The label according to claim 1, It is characterized in that The business attribute is a direct attribute or an indirect attribute.

15. A tag-based authorization management method, It is characterized in that include: The server constructs an authorization tag, wherein the authorization tag is used to select the selected information; The server associates the authorization tag with the client, or cancels the association after association; If the association relationship is grant, it means that the client is allowed to use the information matching the authorization tag. If the association relationship is deny, it means that the client is prohibited from using the information matching the authorization tag.

16. A tag-based subscription management method, It is characterized in that include: After the client logs in to the server, it constructs a subscription tag to indicate subscription or unsubscription; When the subscription tag is used to represent a subscription, the client generates a subscription request based on the subscription tag and sends it to the server, so that after receiving the subscription request, the server forms a subscription result tag according to the intersection of the pre-stored authorization tag and the subscription tag; When the subscription tag is used to indicate cancellation of subscription, the client generates a cancellation request based on the subscription tag and sends it to the server, so that after receiving the cancellation request, the server forms a new subscription result tag based on the difference between the cached latest subscription result tag and the subscription tag; the authorization tag is used to indicate information that authorizes the client to subscribe, and the subscription result tag is used to indicate the subscription result of the client.

17. A method for pushing market information based on tags. It is characterized in that include: The server constructs a feature tag for the market information, wherein the feature tag is used to identify the feature of the market information; The server matches the feature tag with the pre-stored subscription result tag of the client, and if they match, pushes the market information to the client; if they do not match, does not push the market information to the client.

18. A method for encoding a label according to any one of claims 1 to 14, It is characterized in that include: Obtaining a pre-stored dictionary, the dictionary including at least two business attributes of the target object and a relationship between the at least two business attributes; The dictionary is encoded to obtain the label.

19. A dictionary, It is characterized in that The invention comprises the coding rules of the label according to any one of claims 1 to 14.

20. An electronic device, It is characterized in that It comprises a memory and a processor, wherein the memory is used to store a computer program executable by the processor; and the processor is used to execute the computer program in the memory to implement the method according to any one of claims 15 to 18.

21. A computer-readable storage medium having a computer program stored thereon, It is characterized in that When the executable computer program in the storage medium is executed by a processor, the method according to any one of claims 15 to 18 can be implemented.