Disclosure of Invention
According to one aspect of the invention, there is provided a method of information transfer based on graphically encoded data, the method comprising:
acquiring application description information associated with user equipment, and determining a plurality of applications which desire information transfer through graphic coded data based on the application description information;
determining the maximum information quantity required by each application for information transmission through single graphic coded data according to the information transmission requirement of each application in a plurality of applications;
parsing a graphical interface of each application for providing graphical encoded data to determine a display range that each application can use to display the graphical encoded data;
determining the coding proportion of each image area for displaying the graphics coding data based on the display range and the maximum information amount for displaying the graphics coding data; and
when a specific application of the plurality of applications desires to perform information transfer, the specific application generates original graphics encoding data conforming to the encoding ratio and performs information transfer based on the original graphics encoding data conforming to the encoding ratio.
The application description information includes a plurality of description items, and the format of each description item is < application name, application type, associated device type, coded data flag >.
The information transfer requirements of each application are determined according to the data integrity required when each application performs information transfer by graphically encoding data.
The information delivery requirements include the amount of peak data involved in order to meet data integrity.
And determining the maximum information quantity required by each application for information transmission through single graphic coded data according to the peak data quantity.
The graphical interface is an interface which utilizes graphical coded data to carry out information transmission of each application.
The display range is a range for displaying graphically encoded data in the graphical interface.
Wherein determining the encoding ratio of each image region to which the graphically encoded data is applied based on the display range and the maximum amount of information for displaying the graphically encoded data comprises:
determining the length and width of the display range for displaying the graphics coding data;
determining the horizontal encoding quantity of each image area applied for graphically encoding data according to the width of the display range;
determining the longitudinal coding number of each image area applied to the graphics coding data according to the length of the display range and the maximum information amount; and
the encoding ratio of each image region to which the image encoding data is applied is determined based on the number of horizontal encodings and the number of vertical encodings.
Wherein determining the number of vertical encodings per image area applied for graphically encoded data based on the length of the display range and the maximum amount of information comprises:
determining a preselected longitudinal code number according to the maximum information amount and the transverse code number;
when it is determined that the length of the display range can accommodate the preselected number of vertical encodings, the preselected number of vertical encodings is determined as the number of vertical encodings per image area applied for graphically encoded data.
Wherein the shape of the display range is a rectangle, and the shape of the image area is a rectangle.
Wherein the display range is rectangular in shape and the image area is rectangular in shape.
Wherein the coding ratio is 0.618.
The original graphic coding data conforming to the coding scale comprises: configuration information, header information, and data information.
The method also comprises the step of compressing the header information and/or the data information in the original graphics coding data to generate compressed graphics coding data, wherein the area of the compressed graphics coding data is smaller than or equal to that of the original graphics coding data.
Further comprising communicating information based on the compressed graphics encoding data.
Further comprising performing a structure analysis on the data information, dividing the data information into a plurality of information subsets according to the result of the structure analysis,
dividing a data information area of the original image coding data which is not encrypted into a plurality of sub-areas according to each information subset, and determining an encryption unit and an encryption mode for each sub-area; and
aiming at each sub-region, taking the encryption unit as a minimum encryption object and encrypting each encryption unit according to an encryption mode to generate encrypted graph coded data;
wherein the structure parsing comprises semantic structure parsing and delimiter structure parsing.
Determining an encryption unit and an encryption mode for the original image coded data which is not encrypted; and
and taking the encryption unit as a minimum encryption object and encrypting each encryption unit according to an encryption mode to generate encrypted graphics coded data.
Wherein the encryption mode of each encryption unit is the same or different.
The encryption scheme is predetermined by a provider who provides the graphics encoded data, or the encryption scheme is determined according to the requirements of a user who uses the graphics encoded data.
The encryption unit is a single coding unit, a plurality of coding units or a data block.
The generated encoding unit of the original graphic encoding data is circular, rectangular or elliptical.
The method further comprises the steps that a provider of the graphic coded data receives an information processing request aiming at the cooperative service, wherein the information processing request comprises information content associated with the cooperative service and a structure description file of the cooperative service;
analyzing the structure description file of the collaborative service to determine a plurality of collaborative devices related to the collaborative service and a collaborative task related to each collaborative device;
generating original graphic coding data comprising data information according to information content associated with the collaborative service, and dividing the data information in the generated original graphic coding data into a plurality of sub data information based on a collaborative task related to each collaborative device;
determining an incidence relation among the plurality of cooperative devices, and determining a hierarchical relation for each sub data information in a plurality of sub data information based on the incidence relation; and
the generated original graphic coded data is divided into a plurality of hierarchical graphic coded data based on the hierarchical relationship of each sub data information, and each hierarchical graphic coded data is distributed to a corresponding cooperative device for information processing.
After each cooperative device carries out information processing according to the corresponding hierarchical graph coded data, the results produced by each cooperative device through the information processing are combined to generate a response message, and the response message is sent to a provider of the graph coded data.
And setting header information for each hierarchical graphic encoding data, wherein the header information of each hierarchical graphic encoding data is the same as, different from or related to the header information of the generated original graphic encoding data.
Receiving a code division request for dividing the generated original graph coded data;
analyzing the code division request to determine the number N of subcodes;
dividing data information included in the generated original graphic coding data into N pieces of sub-data information; and
and dividing the generated original graphics coded data into N pieces of sub-coded data according to the N pieces of sub-data information.
Further comprising transmitting each of the N sub-coded data to a respective user equipment, wherein each user equipment is capable of receiving at least one sub-coded data.
And setting header information for each sub-coded data, wherein the header information of each sub-coded data is the same as, different from or related to the header information of the generated original graphic coded data.
Further comprising: a code division request for dividing specific sub-encoded data is received, and the specific sub-encoded data is divided into a predetermined number of grandchild encoded data according to the code division request.
Wherein the generated original graphics encoding data comprises: the system information includes size level information and error correction level information, and the backup information includes size level information and error correction level information.
Wherein the generated original graphics encoding data further comprises sub-scaling.
Further comprising the following steps in the configuration information of the sub-coded data: the number of the sub-coded data, the sequence number of the sub-coded data, and the hash value of the original graphic coded data.
The method also comprises the following steps of: the number of the same-level graphic coded data, the serial number of the same-level graphic coded data and the hash value of the upper-level graphic coded data.
Wherein the header information is summary information of data information included in the generated graphic encoding data in conformity with the encoding scale.
Wherein the data information of the sub-coded data includes a code error correction level of the original pattern coded data and partial data information of the original pattern coded data.
Wherein each hierarchical graphically encoded data of the plurality of hierarchical graphically encoded data comprises: the error correction level of the upper graphics coded data and partial data information of the upper coded data.
The configuration information further includes: configuration information version number, header information flag bit, block flag bit and custom configuration data.
The configuration information further includes: the total number of code blocks, the current code block sequence number, and the hash value of the upper code block.
The header information also includes a compression flag bit.
The method further comprises the steps of generating encrypted graphics encoding data, generating a hash character string for header information of the original graphics encoding data which is not encrypted, carrying out byte-by-byte exclusive OR operation on data information of the original graphics encoding data by using the hash character string, and encrypting the exclusive OR operation graphics encoding data to generate the encrypted graphics encoding data.
After receiving the encrypted graphics coded data, decrypting the encrypted graphics coded data to generate graphics coded data to be processed, generating a hash character string for header information of the graphics coded data to be processed, and performing byte-by-byte exclusive OR operation on data information of the graphics coded data to be processed by using the hash character string to obtain the original graphics coded data which is not encrypted.
The cooperative service is a service that is collectively completed by a plurality of cooperative devices.
The structure description file of the collaborative service is used for indicating the logical structure of the collaborative service, and the collaborative service can be divided into a plurality of sub-services based on the structure description file.
Wherein each sub-service of the plurality of sub-services corresponds to a collaborative task to which the respective collaborative device relates.
The association relationship among the plurality of cooperative devices includes: peer relationships, superior relationships, subordinate relationships, and conditional relationships.
Determining a hierarchical relationship for each sub-data information of the plurality of sub-data information based on the association relationship comprises:
when the relationship is a peer relationship or a conditional relationship, determining a hierarchical relationship of each subdata information in the plurality of subdata information as the same hierarchical relationship;
and when the relationship is a higher-level relationship or a lower-level relationship, determining the hierarchy relationship of each sub-data information in the plurality of sub-data information as different hierarchy relationships.
According to another aspect of the present invention, there is provided a system for information transfer based on graphically encoded data, the system comprising:
acquiring means for acquiring application description information associated with a user equipment, determining a plurality of applications desiring information transfer by graphically encoded data based on the application description information;
the information quantity determining device is used for determining the maximum information quantity required by each application when the information is transmitted through the single graphic coded data according to the information transmission requirement of each application in the plurality of applications;
the range determining device is used for analyzing the graphical interface of each application for providing the graphical coded data so as to determine the display range of each application which can be used for displaying the graphical coded data;
scale determining means for determining a coding scale of each image region to which the graphics-coded data is applied based on the display range for displaying the graphics-coded data and the maximum information amount; and
and a transfer means for generating original pattern coded data in conformity with the coding ratio when a specific application among the plurality of applications desires to perform information transfer, and performing information transfer based on the original pattern coded data in conformity with the coding ratio.
The application description information includes a plurality of description items, and the format of each description item is < application name, application type, associated device type, coded data flag >.
The system also comprises a requirement determining device which determines the information transmission requirement of each application according to the data integrity required when each application carries out information transmission through the pattern coding data.
The information delivery requirements include the amount of peak data involved in order to meet data integrity.
The information amount determining means determines the maximum amount of information required for information transfer by a single pattern-coded data per application based on the peak data amount.
The graphical interface is an interface which utilizes graphical coded data to carry out information transmission of each application.
The display range is a range for displaying graphically encoded data in the graphical interface.
The ratio determining means determining the encoding ratio of each image area to which the graphic encoding data is applied based on the display range for displaying the graphic encoding data and the maximum information amount includes:
determining the length and width of the display range for displaying the graphics coding data;
determining the horizontal encoding quantity of each image area applied for graphically encoding data according to the width of the display range;
determining the longitudinal coding number of each image area applied to the graphics coding data according to the length of the display range and the maximum information amount; and
the encoding ratio of each image region to which the image encoding data is applied is determined based on the number of horizontal encodings and the number of vertical encodings.
Wherein determining the number of vertical encodings per image area applied for graphically encoded data based on the length of the display range and the maximum amount of information comprises:
determining a preselected longitudinal code number according to the maximum information amount and the transverse code number;
when it is determined that the length of the display range can accommodate the preselected number of vertical encodings, the preselected number of vertical encodings is determined as the number of vertical encodings per image area applied for graphically encoded data.
Wherein the shape of the display range is a rectangle, and the shape of the image area is a rectangle.
Wherein the display range is rectangular in shape and the image area is rectangular in shape.
Wherein the coding ratio is 0.618.
The original graphic coding data conforming to the coding scale comprises: configuration information, header information, and data information.
The system also comprises a compression device which compresses the header information and/or the data information in the original graphics coding data to generate compressed graphics coding data, wherein the area of the compressed graphics coding data is smaller than or equal to that of the original graphics coding data.
The transfer device performs information transfer based on the compressed graphics coding data.
Also comprises an encryption device which carries out structural analysis on the data information, divides the data information into a plurality of information subsets according to the result of the structural analysis,
dividing a data information area of the original image coding data which is not encrypted into a plurality of sub-areas according to each information subset, and determining an encryption unit and an encryption mode for each sub-area; and
aiming at each sub-region, taking the encryption unit as a minimum encryption object and encrypting each encryption unit according to an encryption mode to generate encrypted graph coded data;
wherein the structure parsing comprises semantic structure parsing and delimiter structure parsing.
The system also comprises an encryption device which determines an encryption unit and an encryption mode for the original image coded data which is not encrypted; and
and taking the encryption unit as a minimum encryption object and encrypting each encryption unit according to an encryption mode to generate encrypted graphics coded data.
Wherein the encryption mode of each encryption unit is the same or different.
The encryption scheme is predetermined by a provider who provides the graphics encoded data, or the encryption scheme is determined according to the requirements of a user who uses the graphics encoded data.
The encryption unit is a single coding unit, a plurality of coding units or a data block.
The generated encoding unit of the original graphic encoding data is circular, rectangular or elliptical.
The method comprises the steps that a provider of the graph coded data is caused to receive an information processing request aiming at a cooperative service, wherein the information processing request comprises information content relevant to the cooperative service and a structure description file of the cooperative service;
analyzing the structure description file of the collaborative service to determine a plurality of collaborative devices related to the collaborative service and a collaborative task related to each collaborative device;
generating original graphic coding data comprising data information according to information content associated with the collaborative service, and dividing the data information in the generated original graphic coding data into a plurality of sub data information based on a collaborative task related to each collaborative device;
determining an incidence relation among the plurality of cooperative devices, and determining a hierarchical relation for each sub data information in a plurality of sub data information based on the incidence relation; and
the generated original graphic coded data is divided into a plurality of hierarchical graphic coded data based on the hierarchical relationship of each sub data information, and each hierarchical graphic coded data is distributed to a corresponding cooperative device for information processing.
After each cooperative device performs information processing according to the corresponding hierarchical graph coded data, the dividing device combines the results generated by each cooperative device through the information processing to generate a response message, and the response message is sent to the provider of the graph coded data.
The dividing means sets header information for each hierarchical pattern encoded data, wherein the header information of each hierarchical pattern encoded data is the same as, different from, or related to the header information of the generated original pattern encoded data.
The device also comprises a dividing device used for receiving a code dividing request for dividing the generated original graph coding data;
analyzing the code division request to determine the number N of subcodes;
dividing data information included in the generated original graphic coding data into N pieces of sub-data information; and
and dividing the generated original graphics coded data into N pieces of sub-coded data according to the N pieces of sub-data information.
The dividing means transmits each of the N sub-coded data to a corresponding user equipment, wherein each user equipment is capable of receiving at least one sub-coded data.
The dividing means sets header information for each of the sub-coded data, wherein the header information of each of the sub-coded data is the same as, different from, or related to the header information of the generated original graphics coded data.
The dividing means receives a division request for dividing specific sub-encoded data, and divides the specific sub-encoded data into a predetermined number of grandchild encoded data according to the division request.
Wherein the generated original graphics encoding data comprises: the system information includes size level information and error correction level information, and the backup information includes size level information and error correction level information.
Wherein the generated original graphics encoding data further comprises sub-scaling.
The method also comprises a setting device, and the configuration information of the sub-coded data comprises the following steps: the number of the sub-coded data, the sequence number of the sub-coded data, and the hash value of the original graphic coded data.
The system also comprises a setting device, wherein the configuration information of the hierarchical graph coded data comprises: the number of the same-level graphic coded data, the serial number of the same-level graphic coded data and the hash value of the upper-level graphic coded data.
Wherein the header information is summary information of data information included in the generated graphic encoding data in conformity with the encoding scale.
Wherein the data information of the sub-coded data includes a code error correction level of the original pattern coded data and partial data information of the original pattern coded data.
Wherein each hierarchical graphically encoded data of the plurality of hierarchical graphically encoded data comprises: the error correction level of the upper graphics coded data and partial data information of the upper coded data.
The configuration information further includes: configuration information version number, header information flag bit, block flag bit and custom configuration data.
The configuration information further includes: the total number of code blocks, the current code block sequence number, and the hash value of the upper code block.
The header information also includes a compression flag bit.
The encryption device is used for generating encrypted graphics coded data, generating a hash character string for header information of the original graphics coded data which is not encrypted, carrying out byte-by-byte exclusive OR operation on data information of the original graphics coded data by using the hash character string, and encrypting the exclusive OR operated graphics coded data to generate the encrypted graphics coded data.
After the encryption device receives the encrypted graphics coded data, decrypting the encrypted graphics coded data to generate graphics coded data to be processed, generating a hash character string for header information of the graphics coded data to be processed, and performing byte-by-byte exclusive OR operation on data information of the graphics coded data to be processed by using the hash character string to obtain the original graphics coded data which is not encrypted.
The cooperative service is a service that is collectively completed by a plurality of cooperative devices.
The structure description file of the collaborative service is used for indicating the logical structure of the collaborative service, and the collaborative service can be divided into a plurality of sub-services based on the structure description file.
Wherein each sub-service of the plurality of sub-services corresponds to a collaborative task to which the respective collaborative device relates.
The association relationship among the plurality of cooperative devices includes: peer relationships, superior relationships, subordinate relationships, and conditional relationships.
The dividing device determining a hierarchical relationship for each sub data information of the plurality of sub data information based on the association relationship includes:
when the relationship is a peer relationship or a conditional relationship, determining a hierarchical relationship of each subdata information in the plurality of subdata information as the same hierarchical relationship;
and when the relationship is a higher-level relationship or a lower-level relationship, determining the hierarchy relationship of each sub-data information in the plurality of sub-data information as different hierarchy relationships.
According to a further aspect of the present invention there is provided a mobile terminal comprising or adapted to carry out the system as described above.
Detailed Description
The exemplary embodiments of the present invention will now be described with reference to the accompanying drawings, however, the present invention may be embodied in many different forms and is not limited to the embodiments described herein, which are provided for complete and complete disclosure of the present invention and to fully convey the scope of the present invention to those skilled in the art. The terminology used in the exemplary embodiments illustrated in the accompanying drawings is not intended to be limiting of the invention. In the drawings, the same units/elements are denoted by the same reference numerals.
Unless otherwise defined, terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Further, it will be understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense.
FIG. 1 is a flow chart of a method 100 for information transfer based on graphically encoded data in accordance with a preferred embodiment of the present invention. As shown in fig. 1, method 100 begins at step 101.
In step 101, application description information associated with a user device is obtained, and a plurality of applications desiring information transfer by graphically encoded data are determined based on the application description information. The application description information includes a plurality of description items, and the format of each description item is < application name, application type, associated device type, encoded data flag >. For example, < Payment Bao, Payment type, iOS, Yes > and < Payment Bao, Payment type, Andriod, Yes > are used to indicate that the Payment Bao application is of a Payment type application, and whether it is an iOS operating system or Andriod operating system, the graphical encoded data needs to be used. In general, description items may be set by a provider of an application, a provider of an operating system, an application store, the user device itself, and application description information associated with the user device is formed from a plurality of the set description items. Therefore, each application which wants to carry out information transmission through the graphic coded data can be determined through the analysis of each description item in the application description information.
At step 102, a maximum amount of information required for each application to communicate information through a single graphic coded data is determined based on information communication requirements of each of a plurality of applications. The information transfer requirements of each application are determined according to the data integrity required when each application carries out information transfer through the pattern coding data. The data integrity is the maximum possible data volume, namely the peak data volume, required for ensuring that information is not divided when each application carries out information transmission through the pattern coding data. Where the information transfer requirements include the amount of peak data involved in order to meet data integrity. The maximum information quantity required when each application carries out information transmission through single graph coded data is determined according to the peak data quantity. For example, the present application may use the peak data amount as the maximum information amount, 1.2 times the peak data amount as the maximum information amount, and 0.9 times the peak data amount as the maximum information amount.
At step 103, the graphical interface for providing the graphical encoded data for each application is parsed to determine a display range that each application can use to display the graphical encoded data. The graphical interface is an interface for information transmission by utilizing graphically coded data of each application. For example, a graphical interface for a payment instrument for providing graphically encoded data includes: two-dimensional code for showing payment, bar code for showing payment, bank card information, member level, prompt information and the like. The display range is a range for displaying graphically encoded data in the graphical interface, i.e., a region of the graphical interface representing the two-dimensional code for payment. In the present application, the shape of the display range is rectangular and the shape of the image area is rectangular. That is, the shape of the display range is a square or a rectangle and the shape of the image area is a square or a rectangle. As shown in fig. 3, the shape of the display range is a rectangle, and the shape of the image area is a rectangle.
In step 104, the encoding ratio of each image area applied for the graphics-coded data is determined based on the display range and the maximum information amount for displaying the graphics-coded data. Wherein determining the encoding ratio of each image region to which the graphically encoded data is applied based on the display range and the maximum amount of information for displaying the graphically encoded data comprises: and determining the length and the width of the display range for displaying the graphic coded data. Currently, the external shape of a mobile terminal (e.g., a mobile phone) is mostly rectangular or approximately rectangular. For this reason, the display plane of the display screen of the mobile terminal is also typically rectangular or approximately rectangular, i.e. both the mobile terminal and the display screen present a width and a length. Generally, the length is greater than the width, and the length and width do not vary in the present application with the lateral and longitudinal placement of the mobile terminal. The length and width of the display range determined by the present application is the largest display area or range that can be used to display the graphically encoded data.
And determining the transverse coding quantity of each image area applied to the graphics coding data according to the width of the display range. Typically, the width occupied by the horizontal encoding of the image area for the graphics encoded data is less than the width of the display range. As shown in fig. 3, the width of the horizontal encoding is, for example, the distance between the two main scales 311-1 and 311-2 (including themselves) located at the upper part of the image encoded data, and the width of the vertical encoding is, for example, the distance between the two main scales 311-2 and 311-3 (including themselves) located at the upper part of the image encoded data. It should be understood that when the graphic coded data contains less data information, the width of the graphic coded data does not occupy the width of the display range. That is, the width of the display range may be regarded as the maximum width of an image area for graphics-encoded data per application, and the maximum number of lateral encodings is determined based on the maximum width of the image area and the size of a symbol (or 1/4 symbols).
And determining the longitudinal coding number of each image area applied to the graphics coding data according to the length of the display range and the maximum information amount. Wherein determining the number of vertical encodings per image area applied for graphically encoded data based on the length of the display range and the maximum amount of information comprises: the preselected number of vertical codes is determined based on the maximum amount of information and the number of horizontal codes. The maximum information amount related to the data information of the pattern coded data determines the area of the pattern coded data, and for example, the area of the pattern coded data can be determined based on the maximum information amount and the size of the symbol (or 1/4 symbols). For example, in the case where the number of horizontal encodings of an image region for graphics-encoded data is determined, the number of vertical encodings per image region to which graphics-encoded data is applied may be determined in accordance with the length of the display range and the maximum amount of information. This is because the maximum information amount of a single pattern coded data can determine the number of symbols of this pattern coded data, and the number of vertical codes can be determined from the number of symbols and the number of horizontal codes.
When it is determined that the length of the display range can accommodate the preselected number of vertical encodings, the preselected number of vertical encodings is determined as the number of vertical encodings per image area applied for graphically encoded data. When it is determined that the length of the display range cannot accommodate the preselected number of vertical encodings, the maximum vertical encodings that the display range can accommodate is determined as the number of vertical encodings per image area to which the graphic encodings are applied.
It should be understood that, for a single graphic coded data, the smaller the size (display size or presentation size) of a symbol or 1/4 symbol (1/4 symbol is an elementary data unit of the graphic coded data, representing 1 or 0), the more information (system information, header information, and data information) can be accommodated by the single graphic coded data.
The encoding ratio of each image region to which the image encoding data is applied is determined based on the number of horizontal encodings and the number of vertical encodings. For example, if the number of horizontal codes of a specific application is 62 and the number of vertical codes is 100, then the coding ratio of the image area for graphics coded data of the specific application is 0.62. In a preferred embodiment of the present application, the coding ratio is 0.618.
When a specific application of the plurality of applications desires to perform information transfer, the specific application generates original graphics encoding data conforming to the encoding ratio and performs information transfer based on the original graphics encoding data conforming to the encoding ratio, in step 105. The original graphic encoding data in conformity with the encoding ratio may include three main scales, a system information area and a backup information area. Three of which are used to locate the graphics encoded data for the scanner or decoder. The main scaling is responsible for image recognition and positioning of the graphics encoding data.
The system information region includes two symbols, where each symbol may indicate 4 binary data bits or bits. The system information area represents the size level of the graphic encoded data, i.e., levels 0 to 63, using 6 bits, and represents the error correction level of the graphic encoded data, i.e., levels 0 to 3, using 2 bits. The system information area is located in the upper left corner of the graphics coded data. The content setting of the backup information area is identical to that of the system information area, and the content in the system information area and the backup information area of the same pattern coded data is identical. The backup information area is located at the lower right corner of the graphic coded data. It should be appreciated that the backup information area and the system information area may be disposed at any reasonable location of the pattern encoded data.
Further, the original graphic encoding data in conformity with the encoding scale may further include sub-scalings, and the number of the sub-scalings may be 0 or at least one. The sub-scaling is used for auxiliary positioning, i.e. for auxiliary positioning of encoded data in the graphics encoded data. For example, sub-scaling is responsible for symbol positioning in graphically encoded data. The greater the number of sub-scales required as the more information is conveyed by the graphically encoded data.
The original graphic coding data conforming to the coding scale comprises: configuration information, header information, and data information. The configuration information may include the following: version number, header information flag bit, block flag bit, data information configuration, user-defined configuration data, header information configuration, and block configuration information. Wherein the version number occupies 2 bits: version numbers range from 00 to 11(0-3), giving a total of 4 versions. Header information flag bit occupies 1 bit: identify whether there is title information: 1- > has a title; 0- > without title. The block flag bit occupies 1 bit: for identifying whether the current image coded data is a block: 1- > the current graphics coded data is a subcode; 0- > the current graphics coded data is the mother code. The user-defined configuration data occupies 2 bits: from 00 to 11(0-3), a total of 4 custom configuration data versions can be represented.
The data information configuration occupies 16 bits and includes: encryption, zip flag, data type, and data length. Wherein the encryption mode occupies 2 bits: 00- > is not encrypted; 01- > default AESTR encryption; 10- > reserving a system; and 11- > user-defined encryption. The Zip flag bit occupies 1 bit: 1- > the content is coded after zip encryption; 0- > content is normally encoded. The data type occupies 1 bit: 0- > UTF-8 text; 1- > binary. The data length occupies 12 bits: for indicating the byte information (maximum 4095 bytes) included in the data information.
The header information configuration occupies 9 bits and includes: zip flag bits and data length. Wherein the zip flag bit occupies 1 bit: 1- > encoding with zip encrypted title; 0- > title is normal encoding. The data length occupies 8 bits: for indicating byte information (maximum 255 bytes) included in the header information.
The blocking configuration information occupies 70 bits and includes: the total number of blocks, the block number, and the hash value of the parent block. Where the total number of blocks (total number of subcodes) occupies 3 bits: from 000 to 111(0-7), a total represents 8 blocks in number, 000- > 1 block; 001- > 2 blocks in total; … … are provided. The block number (subcode number) occupies 3 bits: from 000 to 111(0-7), representing the current block number index, 000- > Block 1; 001- > block 2; … … are provided. The mother block hash value takes 64 bits: for identifying whether a plurality of sub-blocks are sub-blocks of the same mother block and identifying whether the mother block in which the sub-blocks are merged is correct. Wherein the 64-bit hash value may be obtained by selectively truncating the 128-bit hash value.
The header information indicates a header of the graphic encoded data as the mother code or the graphic encoded data as the child code. The data information is data content desired to be transmitted/expressed as the pattern code data of the mother code or the pattern code data of the child code.
The method also comprises the step of compressing the header information and/or the data information in the original graphics coding data to generate compressed graphics coding data, wherein the area of the compressed graphics coding data is smaller than or equal to that of the original graphics coding data. For example, header information and/or data information in original graphics coding data is compressed by a zip method to generate compressed graphics coding data, and the area of the zip compressed graphics coding data is smaller than or equal to that of the original graphics coding data. This is because the header information and/or the data information may be compressed, which may result in a shorter length or width of the graphics-encoded data. The application also includes information transfer based on the compressed graphics encoding data.
The method and the device perform structural analysis on the data information, and divide the data information into a plurality of information subsets according to the result of the structural analysis. Wherein the structure parsing comprises semantic structure parsing and delimiter structure parsing. When the structure analysis is semantic structure analysis, performing structure analysis on the information content to be transmitted, and dividing the information content to be transmitted into a plurality of information subsets according to the result of the structure analysis comprises: semantic structure analysis is carried out on the information content to be transmitted to generate a plurality of semantic structure subunits; and dividing the information content to be transmitted into a plurality of information subsets according to the semantic structure subunits. When the structure analysis is separator structure analysis, the structure analysis is carried out on the information content to be transmitted, and the division of the information content to be transmitted into a plurality of information subsets according to the result of the structure analysis comprises the following steps: carrying out separator structure analysis on the information content to be transmitted to generate a plurality of separator structure subunits; and dividing the information content to be transmitted into a plurality of information subsets according to the plurality of separator structure subunits.
Dividing a data information area of the original pattern coding data which is not encrypted into a plurality of sub-areas according to each information subset, and determining an encryption unit and an encryption mode for each sub-area. And aiming at each sub-area, taking the encryption unit as a minimum encryption object and encrypting each encryption unit according to an encryption mode to generate encrypted graphic coding data. That is, the original graphics-encoded data that is not encrypted is divided into a plurality of objects and subjected to the same or different encryption processes. Alternatively, the method also comprises the steps of determining an encryption unit and an encryption mode for the original image coded data which is not encrypted; and taking the encryption unit as a minimum encryption object and encrypting each encryption unit according to an encryption mode to generate encrypted graphics coded data. That is, the original graphics-coded data that is not encrypted is subjected to encryption processing as a whole processing object.
In addition, the encryption mode of each encryption unit is the same or different. The encryption scheme is predetermined by a provider (e.g., an encoding maker, an encoding federation, etc.) that provides the graphics encoded data, or the encryption scheme is determined according to the needs of a user using the graphics encoded data. The encryption unit is a single coding unit, a plurality of coding units or a data block. In the present application, a single coding unit may be a symbol as shown in fig. 9. The data block may be a collection of data selected from the data information by semantics or by segmenters.
Wherein the generated encoding unit of the original graphic encoding data is circular, rectangular or elliptical, as shown in fig. 3.
The application causes a provider of graphics coding data to receive an information processing request for a collaborative service, wherein the information processing request includes information content associated with the collaborative service and a structure description file of the collaborative service. The cooperative service is a service that is collectively completed by a plurality of cooperative devices. Wherein when the provider of the graphics coded data determines that the generated graphics coded data relates to the collaborative service, an information processing request for the collaborative service is generated. The information content associated with the collaborative service is task information required to complete the collaborative service. The structure description file of the collaborative service is used for indicating the logical structure of the collaborative service, and the collaborative service can be divided into a plurality of sub-services based on the structure description file. Wherein each sub-service of the plurality of sub-services corresponds to a collaborative task to which the respective collaborative device relates.
Analyzing the structure description file of the collaborative service to determine a plurality of collaborative devices related to the collaborative service and a collaborative task related to each collaborative device, specifically including: parsing a structure description file of the collaborative service to determine a plurality of sub-services of the collaborative service; determining a cooperative device involved by each sub-service in a plurality of sub-services; analyzing the service content of each sub-service to determine a cooperative task; and determining the cooperative task involved by each cooperative device.
And generating original graphic coding data comprising data information according to the information content associated with the collaborative service, and dividing the data information in the generated original graphic coding data into a plurality of sub data information based on the collaborative task related to each collaborative device. Wherein generating original graphically encoded data comprising data information from information content associated with the collaborative service comprises: information content associated with the collaborative service is taken as data information, and original graphic encoding data including the data information is generated. The dividing of the data information in the original graphic coding data into a plurality of sub data information based on the cooperative task related to each cooperative device includes: determining collaboration data associated with a collaboration task to which each collaboration device relates; and dividing the data information in the original graphic coding data into a plurality of sub data information based on the cooperative data of each cooperative device.
Determining an association relationship between the plurality of cooperative devices, and determining a hierarchical relationship for each of a plurality of sub data information based on the association relationship. The association relationship among the plurality of cooperative devices includes: peer relationships, superior relationships, subordinate relationships, and conditional relationships. Determining a hierarchical relationship for each sub-data information of the plurality of sub-data information based on the association relationship comprises: when the relationship is a peer relationship or a conditional relationship, determining a hierarchical relationship of each subdata information in the plurality of subdata information as the same hierarchical relationship; and when the relationship is a higher-level relationship or a lower-level relationship, determining the hierarchy relationship of each sub-data information in the plurality of sub-data information as different hierarchy relationships.
The generated original graphic coded data is divided into a plurality of hierarchical graphic coded data based on the hierarchical relationship of each sub data information, and each hierarchical graphic coded data is distributed to a corresponding cooperative device for information processing. Header information is set for each hierarchical pattern encoding data, wherein the header information of each hierarchical pattern encoding data is the same as, different from, or related to the header information of the generated original pattern encoding data.
After each cooperative device carries out information processing according to the corresponding hierarchical graph coded data, the results produced by each cooperative device through the information processing are combined to generate a response message, and the response message is sent to a provider of the graph coded data.
Alternatively, the present application receives a code division request for division of the generated original graphic encoding data. And analyzing the code division request to determine the number N of the subcodes. And dividing data information included in the generated original graphic coding data into N pieces of sub-data information. And dividing the generated original graphics coded data into N pieces of sub-coded data according to the N pieces of sub-data information. Each of the N sub-coded data is transmitted to a respective user equipment, wherein each user equipment is capable of receiving at least one sub-coded data. The title information is set for each sub-coded data, wherein the title information of each sub-coded data is the same as, different from or related to the title information of the generated original graphic coded data. A code division request for dividing specific sub-encoded data is received, and the specific sub-encoded data is divided into a predetermined number of grandchild encoded data according to the code division request.
It should be understood that the data information in the original graphics-encoded data may be equally divided into N parts of sub-information, and each of the N parts of sub-information is used to form each of the N sub-encoded data. The N parts of sub information have a sequence, and the sequence depends on the content of the data information, namely the N parts of sub information can form the data information after being combined according to the sequence numbers without modifying the sequence. In addition, the data information in the original graphics coding data can be divided into N parts of sub information unevenly. Alternatively, the data information in the original graphics coding data may be divided into N pieces of sub information according to a semantic structure, a separator structure, or the like.
As is apparent from the above description, a plurality of hierarchical pattern encoded data may be located at different levels, wherein each pattern encoded data may be divided into at most a predetermined number of pattern encoded data as subcodes. Hierarchical pattern coding data obtained by dividing original pattern coding data is positioned at the next level of the original pattern coding data. The new hierarchical graphics encoding data resulting from dividing a particular hierarchical graphics encoding data is located at a next level of the particular hierarchical graphics encoding data. For another example, when the number N of the sub-codes is 8, the original graphics encoding data can be divided into 8 sub-encoding data at most, and each sub-encoding data can be divided into 8 grandchild encoding data at most, and so on.
In the present application, the original pattern coded data conforming to the coding scale, the original pattern coded data, the generated original pattern coded data conforming to the coding scale, the generated original pattern coded data, and the generated original pattern coded data may refer to the same content.
Wherein the generated original graphics encoding data comprises: the system information includes size level information and error correction level information, and the backup information includes size level information and error correction level information. The generated original graphics-encoding data also includes sub-scaling.
As described above, the present application may set, in the configuration information of the sub-coded data: the number of the sub-coded data, the sequence number of the sub-coded data, and the hash value of the original graphic coded data. The configuration information of the hierarchical graph coding data comprises: the number of the same-level graphic coded data, the serial number of the same-level graphic coded data and the hash value of the upper-level graphic coded data.
The header information is summary information of data information included in the generated graphics coded data in conformity with the coding scale. The data information of the sub-coded data includes a code error correction level of the original pattern-coded data and partial data information of the original pattern-coded data. Wherein each hierarchical graphically encoded data of the plurality of hierarchical graphically encoded data comprises: the error correction level of the upper graphics coded data and partial data information of the upper coded data. The configuration information further includes: configuration information version number, header information flag bit, block flag bit and custom configuration data. The configuration information further includes: the total number of code blocks, the current code block sequence number, and the hash value of the upper code block. The header information also includes a compression flag bit.
The method further comprises the following steps of generating encrypted graphics coding data, generating a hash character string for header information of the original graphics coding data which is not encrypted, carrying out byte-by-byte exclusive OR operation on data information of the original graphics coding data by using the hash character string, and encrypting the exclusive OR operation graphics coding data to generate the encrypted graphics coding data. After receiving the encrypted graphics coded data, decrypting the encrypted graphics coded data to generate graphics coded data to be processed, generating a hash character string for header information of the graphics coded data to be processed, and performing byte-by-byte exclusive OR operation on data information of the graphics coded data to be processed by using the hash character string to obtain the original graphics coded data which is not encrypted.
Fig. 3 is a schematic illustration of graphically encoded data 300, in accordance with a preferred embodiment of the present invention. As shown in FIG. 3, the graphically encoded data 310 and 320 of the present application may also be referred to as a month code. The symbols of the month code 310 are circular and the symbols of the month code 320 are square or square. In the graphically encoded data 310, the primary scales 311-1, 311-2, and 311-3 are used to determine the location of the graphically encoded data for the scanner or decoder. The sub-scale 312 is used to aid in positioning, i.e., to aid in positioning encoded data in the graphics encoded data. The encoded data 313 is used to represent system information, backup information, configuration information, data information, and the like. In the graphic encoded data 320, the primary scales 321-1, 321-2, and 321-3 are used to determine the location of the graphic encoded data for the scanner or decoder. The sub-scale 322 is used for auxiliary positioning, i.e. for auxiliary positioning of encoded data in the graphics encoded data. The coded data 323 is used to represent system information, backup information, configuration information, data information, and the like.
Fig. 4 is a schematic diagram of the overall structure of graphically encoded data, in accordance with a preferred embodiment of the present invention. As shown in fig. 4, the month code 400 may include three primary, system information areas and a backup information area. Three of which are used to locate the graphics encoded data for the scanner or decoder. The system information region includes two symbols (circular symbols as an example), where each symbol may indicate 4 binary data bits or bits. The system information area represents the size level of the graphic encoded data, i.e., levels 0 to 63, using 6 bits, and represents the error correction level of the graphic encoded data, i.e., levels 0 to 3, using 2 bits. The system information area is located in the upper left corner of the graphics coded data. The content setting of the backup information area is identical to that of the system information area, and the content in the system information area and the backup information area of the same pattern coded data is identical. The backup information area is located at the lower right corner of the graphic coded data. It should be appreciated that the backup information area and the system information area may be disposed at any reasonable location of the pattern encoded data.
Fig. 5 is a schematic diagram of the overall structure of graphically encoded data according to another preferred embodiment of the present invention. The month code 500 includes: configuration information, header information, and data information. The configuration information may include the following: version number, header information flag bit, block flag bit, data information configuration, user-defined configuration data, header information configuration, and block configuration information. The title information is used to indicate a title of a month code as a mother code or a month code as a child code. The data information is data content desired to be delivered/expressed by the month code as the mother code or the month code as the child code.
Fig. 6 is a schematic diagram of a partitioning 600 of graphics encoded data according to a preferred embodiment of the present invention. As shown in fig. 6, the present application receives a code division request for division with respect to a generated month code 601. The split code request is parsed to determine the number of subcodes 8. The data information included in the generated month code 601 is divided into 8 pieces of sub-data information. The generated month code 601 is divided into 8 sub-codes 611-618 according to the 8 pieces of sub-data information. Each of the 8 sub-codes 611 and 618 is sent to a corresponding user equipment, where each user equipment is capable of receiving at least one sub-code. The present application sets header information for each sub-code, wherein the header information of each sub-code is the same as, different from, or related to the header information of the generated month code 601. A division request for division with respect to a specific subcode is received, and the specific subcode is divided into a predetermined number of grandchild encoded data according to the division request.
The month code 601 can be divided into 8 sub-codes 611 and 618 at most, and each sub-code can be divided into 8 grandchild codes at most, and so on. It should be appreciated that the data information in the month code 601 can be equally divided into 8 pieces of sub information, and each of the 8 pieces of sub information is utilized to form each of the 8 sub codes 611-618. The 8 parts of sub information have a sequence, and the sequence depends on the content of the data information, namely the 8 parts of sub information can form the data information after being combined according to the sequence numbers without modifying the sequence. In addition, the data information in the month code 601 may be unevenly divided into 8 pieces of sub information. Alternatively, the data information in the month code 601 may be divided into 8 pieces of sub information according to a semantic structure, a separator structure, or the like.
Fig. 7 is a schematic view of the overall structure of a sub-code according to a preferred embodiment of the present invention. The subcode 700 may include three primary scales 701, a system information area 702, and a backup information area 706. Three of the primary scales 701 are used to determine the position of the sub-code 700 for the scanner or decoder. The system information region 702 includes two symbols, where each symbol may indicate 4 binary data bits or bits. The system information area 702 represents the size level, i.e., levels 0 to 63, of the sub-code 700 with 6 bits and represents the error correction level, i.e., levels 0 to 3, of the sub-code 700 with 2 bits. The system information area 702 is located in the upper left corner of the sub-code 700. The content settings of the backup information area 706 and the system information area 702 are identical, and the contents in the system information area 702 and the backup information area 706 of the same subcode 700 are identical. The backup information area 706 is located at the lower right corner of the sub-code 700. It should be appreciated that the backup information area 706 and the system information area 702 may be disposed at any reasonable location of the subcode 700.
The configuration information 703 of the subcode 700 may include the following: the total number of subcodes occupies 3 bits: from 000 to 111(0-7), a total can represent the number of 8 subcodes, 000- > 1 subcode; 001- > 2 subcodes in total; … … are provided. The sub-code number occupies 3 bits: from 000 to 111(0-7), representing the current subcode number index, 000- > 1 st subcode; 001- > 2 nd subcode; … … are provided. The mother code hash value takes 64 bits: for identifying whether a plurality of sub-codes are sub-codes of the same mother code and identifying whether the mother code in which the sub-codes are combined is correct. Wherein the 64-bit hash value may be obtained by selectively truncating the 128-bit hash value.
The title information 704 for each subcode may be different and may be customized. The data information 705 includes the code error correction level of the month code 700 and partial data information of the month code 700.
Fig. 8 is a diagram illustrating main and sub-scaling according to a preferred embodiment of the present invention. As shown in fig. 8, in block 800, primary scales 801 and 802 are used to determine the location of the month code for the scanner or decoder. The sub-scales 802 and 804 are used for auxiliary positioning, i.e., positioning the encoded data in the month code. The main scale 801 takes the form of a circular pattern and the width ratio between black and white pixels is 1: 1: 5: 1: 1. the main scaling 803 takes a square pattern, and the width ratio between black and white pixels is 1: 1: 5: 1: 1. the sub-scale 802 takes a circular pattern and the width ratio between black and white pixels is 1: 1: 2: 1: 1. the sub-scaling 802 takes a square pattern and the width ratio between black and white pixels is 1: 1: 2: 1: 1.
fig. 9 is a diagram of a symbol structure 900 according to a preferred embodiment of the present invention. As shown in fig. 9, four parts of the circular symbol according to the month code are clockwise, and 1, 2, 3, and 4 from the upper left corner (second quadrant). As shown in fig. 9, different patterns represent different values 0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, and 1111, respectively. It should be understood that the present application illustrates circular symbols as examples, and that the symbols may be any reasonable shape, such as square, rectangle, oval, etc. Further, while the pattern encoded data (month code) of the present application is characterized by performing various processes such as encoding, decoding, encryption, and grouping in units of symbols, the pattern encoded data in the related art is encoded or decoded in units of a single minimum unit, for example, 1, 2, 3, or 4 in fig. 9. The advantage of performing various processes such as encoding, decoding, encryption, and grouping in symbol units is that four bits can be processed at a time, thereby improving the efficiency of various processes such as encoding, decoding, encryption, and grouping.
Fig. 10 is a schematic diagram of information transfer 1000 secured by graphically encoded data in accordance with a preferred embodiment of the present invention. As shown in fig. 10, the transfer of the security information can be better performed by the month code. For example, without encryption, the user may be prompted by the header information "month code, unlike two-dimensional code" for the content of the information delivered. In the case of encryption, the user is prompted to input a password by reviewing the first my short message and what the password knows from the "title information". When the password input by the user is correct, the month code can be decrypted to obtain the information transmitted by the month code. When the password input by the user is incorrect, the month code cannot be decrypted, so that the information transmitted by the month code is protected safely.
According to a preferred embodiment of the present application, the month code has the following characteristics:
the moon code is rectangular in shape, the width-height ratio is about 0.618, and the space of a mobile phone screen can be fully utilized;
the moon code is divided into three parts as a whole: system information, header information, data information;
the monthly data information supports two formats: text, binary;
the title information and the data information of the month codes support UTF-8 texts and emoji expressions, so that the covered information amount is more complete;
the month code compresses header information and data information by using zip, so that the area of the month code is reduced;
the data information of the month code can be encrypted, the default encryption algorithm is AES CTR, and other encryption formats can be customized;
the user can add user-defined configuration information in the month code;
a month code can be split into 8 subcodes at most, and one subcode can be further split into 8 subcodes, and can be split indefinitely. The mother code can be spliced only by neatly gathering all the child codes; and
the month code supports tamper resistance, and prevents others from tampering with the information in the month code.
The main calibration of the month code is responsible for image recognition and month code positioning. The sub-scaling of the month code is responsible for symbol positioning in the month code.
The data storage levels are shown in table 1:
TABLE 1
The error correction level of the month code is shown in table 2:
TABLE 2
The data storage range of the month code after error correction is shown in table 3:
TABLE 3
The scaled arrangement rule of the month code is shown in table 4:
TABLE 4
The configuration information structure of the month code is as follows:
wherein
The version number occupies 2 bits: version numbers range from 00 to 11(0-3), giving a total of 4 versions:
whether header information occupies 1 bit: identify whether there is title information: 1- > has a title; 0- > no title;
whether 1 bit is occupied for a partition: for identifying whether the current image coded data is a block: 1- > the current graphics coded data is a subcode; 0- > the current graphics coding data is the mother code;
the user-defined configuration data occupies 2 bits: from 00 to 11(0-3), a total of 4 custom configuration data versions can be represented;
the data information configuration occupies 16 bits and includes: encryption mode, zip flag bit, data type and data length;
the header information configuration occupies 9 bits and includes: zip flag bit and data length;
the blocking configuration information occupies 70 bits and includes: the total number of blocks, the block number and the hash value of the parent block;
the header information is used for indicating the header of the graphics coding data as the mother code or the graphics coding data as the child code; and
the data information is data content desired to be transmitted/expressed as the pattern code data of the mother code or the pattern code data of the child code.
Among them, the title information configuration, the block configuration information, and the title information are selectable items.
The block information structure is:
| total number of blocks 3 bits
| Block number | 3 bit
|
Hash value of the mother block is 64 bits |
Wherein
The total number of blocks (total number of subcodes) occupies 3 bits: from 000 to 111(0-7), a total represents 8 blocks in number, 000- > 1 block; 001- > 2 blocks in total; … …, respectively;
the block number (subcode number) occupies 3 bits: from 000 to 111(0-7), representing the current block number index, 000- > Block 1; 001- > block 2; … …, respectively; and
the mother block hash value takes 64 bits: for identifying whether a plurality of sub-blocks are sub-blocks of the same mother block and identifying whether the mother block in which the sub-blocks are merged is correct. Wherein the 64-bit hash value may be obtained by selectively truncating the 128-bit hash value.
The header information structure is:
| whether or not to zip 1 bit
|
Data length 8 bits (255 bytes maximum) |
Wherein
Whether zip occupies 1 bit: 1- > encoding with zip encrypted title; 0- > title normal encoding; and
the data length occupies 8 bits: for indicating byte information (maximum 255 bytes) included in the header information.
The data information structure is as follows:
| 2 bits of encryption mode
|
Whether or not to zip 1 bit
| Data type | 1 bit
| Data length | 12 bits (maximum length 4095 bytes) |
Wherein
The encryption mode occupies 2 bits: 00- > is not encrypted; 01- > default AESTR encryption; 10- > reserving a system; 11- > user-defined encryption;
whether zip occupies 1 bit: 1- > the content is coded after zip encryption; 0- > content is normal encoding;
the data type occupies 1 bit: 0- > UTF-8 text; 1- > binary; and
the data length occupies 12 bits: for indicating the byte information (maximum 4095 bytes) included in the data information.
The fixed mask for the month code is shown in table 5:
TABLE 5
The graphically encoded data (e.g., month code) of the present application has a tamper-resistant mechanism.
Tamper-proofing purposes:
the month code contains header information and data information, and after the month code is generated, the two data must be matched with each other, so that the month code needs to be prevented from being forged by modifying one of the data by others.
Tamper-resistant conditions:
the month code containing only the data information does not need to be tamper-proof, i.e. the month code must contain header information and data information. The data information of the month code must be encrypted
Tamper-proofing:
generating a month code: and generating a 128-bit hash string by using the header information, carrying out exclusive OR operation on the whole data information byte by using the hash string before encrypting the data information, and then encrypting the data.
Reading the month code: after the data information is decrypted, the 128-bit hash string generated by the header information is used for carrying out exclusive OR operation on the data information in a byte-by-byte mode, and the data information is restored.
Examples of applications of graphically encoded data (e.g., month code) of the present application include:
spreading the encrypted information by using the two-dimension code;
using pictures to encrypt and transmit information between different software;
performing group authentication, pipeline authentication and quality authentication by using the subcodes; and
secure payment, etc.
FIG. 11 is a block diagram of a system 1100 for information transfer based on graphically encoded data, in accordance with a preferred embodiment of the present invention. As shown in fig. 11, system 1100 includes: acquisition means 1101, information amount determination means 1102, range determination means 1103, proportion determination means 1104, transmission means 1105, demand determination means 1106, compression means 1107, encryption means 1108, division means 1109 and setting means 1110.
The acquisition means 1101 acquires application description information associated with the user device, and determines a plurality of applications that desire information transfer by the graphic encoded data based on the application description information. The application description information includes a plurality of description items, and the format of each description item is < application name, application type, associated device type, encoded data flag >. For example, < Payment Bao, Payment type, iOS, Yes > and < Payment Bao, Payment type, Andriod, Yes > are used to indicate that the Payment Bao application is of a Payment type application, and whether it is an iOS operating system or Andriod operating system, the graphical encoded data needs to be used. In general, description items may be set by a provider of an application, a provider of an operating system, an application store, the user device itself, and application description information associated with the user device is formed from a plurality of the set description items. Therefore, each application which wants to carry out information transmission through the graphic coded data can be determined through the analysis of each description item in the application description information.
The information amount determining means 1102 determines the maximum amount of information required for each application to perform information transfer by a single graphic coded data according to the information transfer requirement of each application in the plurality of applications. The application utilizes the requirement determining means 1106 to determine the information transfer requirement of each application according to the data integrity required when each application performs information transfer by graphically encoding data. The data integrity is the maximum possible data volume, namely the peak data volume, required for ensuring that information is not divided when each application carries out information transmission through the pattern coding data. Where the information transfer requirements include the amount of peak data involved in order to meet data integrity. The information amount determining means 102 determines the maximum amount of information required for information transfer by a single pattern-coded data per application from the peak data amount. For example, the present application may use the peak data amount as the maximum information amount, 1.2 times the peak data amount as the maximum information amount, and 0.9 times the peak data amount as the maximum information amount.
The scope determining means 1103 parses the graphical interface of each application for providing the graphical encoded data to determine a display scope that each application can use for displaying the graphical encoded data. The graphical interface is an interface for information transmission by utilizing graphically coded data of each application. For example, a graphical interface for a payment instrument for providing graphically encoded data includes: two-dimensional code for showing payment, bar code for showing payment, bank card information, member level, prompt information and the like. The display range is a range for displaying graphically encoded data in the graphical interface, i.e., a region of the graphical interface representing the two-dimensional code for payment. In the present application, the shape of the display range is rectangular and the shape of the image area is rectangular. That is, the shape of the display range is a square or a rectangle and the shape of the image area is a square or a rectangle. As shown in fig. 3, the shape of the display range is a rectangle, and the shape of the image area is a rectangle.
The scale determining means 1104 determines the encoding scale of each image area to which the graphics-encoded data is applied based on the display range for displaying the graphics-encoded data and the maximum information amount. Wherein determining the encoding ratio of each image region to which the graphically encoded data is applied based on the display range and the maximum amount of information for displaying the graphically encoded data comprises: and determining the length and the width of the display range for displaying the graphic coded data. Currently, the external shape of a mobile terminal (e.g., a mobile phone) is mostly rectangular or approximately rectangular. For this reason, the display plane of the display screen of the mobile terminal is also typically rectangular or approximately rectangular, i.e. both the mobile terminal and the display screen present a width and a length. Generally, the length is greater than the width, and the length and width do not vary in the present application with the lateral and longitudinal placement of the mobile terminal. The length and width of the display range determined by the present application is the largest display area or range that can be used to display the graphically encoded data.
And determining the transverse coding quantity of each image area applied to the graphics coding data according to the width of the display range. Typically, the width occupied by the horizontal encoding of the image area for the graphics encoded data is less than the width of the display range. As shown in fig. 3, the width of the horizontal encoding is, for example, the distance between the two main scales 311-1 and 311-2 (including themselves) located at the upper part of the image encoded data, and the width of the vertical encoding is, for example, the distance between the two main scales 311-2 and 311-3 (including themselves) located at the upper part of the image encoded data. It should be understood that when the graphic coded data contains less data information, the width of the graphic coded data does not occupy the width of the display range. That is, the width of the display range may be regarded as the maximum width of an image area for graphics-encoded data per application, and the maximum number of lateral encodings is determined based on the maximum width of the image area and the size of a symbol (or 1/4 symbols).
And determining the longitudinal coding number of each image area applied to the graphics coding data according to the length of the display range and the maximum information amount. Wherein determining the number of vertical encodings per image area applied for graphically encoded data based on the length of the display range and the maximum amount of information comprises: the preselected number of vertical codes is determined based on the maximum amount of information and the number of horizontal codes. The maximum information amount related to the data information of the pattern coded data determines the area of the pattern coded data, and for example, the area of the pattern coded data can be determined based on the maximum information amount and the size of the symbol (or 1/4 symbols). For example, in the case where the number of horizontal encodings of an image region for graphics-encoded data is determined, the number of vertical encodings per image region to which graphics-encoded data is applied may be determined in accordance with the length of the display range and the maximum amount of information. This is because the maximum information amount of a single pattern coded data can determine the number of symbols of this pattern coded data, and the number of vertical codes can be determined from the number of symbols and the number of horizontal codes.
When it is determined that the length of the display range can accommodate the preselected number of vertical encodings, the preselected number of vertical encodings is determined as the number of vertical encodings per image area applied for graphically encoded data. When it is determined that the length of the display range cannot accommodate the preselected number of vertical encodings, the maximum vertical encodings that the display range can accommodate is determined as the number of vertical encodings per image area to which the graphic encodings are applied.
It should be understood that, for a single graphic coded data, the smaller the size (display size or presentation size) of a symbol or 1/4 symbol (1/4 symbol is an elementary data unit of the graphic coded data, representing 1 or 0), the more information (system information, header information, and data information) can be accommodated by the single graphic coded data.
The encoding ratio of each image region to which the image encoding data is applied is determined based on the number of horizontal encodings and the number of vertical encodings. For example, if the number of horizontal codes of a specific application is 62 and the number of vertical codes is 100, then the coding ratio of the image area for graphics coded data of the specific application is 0.62. In a preferred embodiment of the present application, the coding ratio is 0.618.
The transferring means 1105 is used for prompting a specific application of the plurality of applications to generate the original graphics coding data in conformity with the coding ratio when the specific application wishes to perform information transfer, and performing information transfer based on the original graphics coding data in conformity with the coding ratio. The original graphic encoding data in conformity with the encoding ratio may include three main scales, a system information area and a backup information area. Three of which are used to locate the graphics encoded data for the scanner or decoder. The main scaling is responsible for image recognition and positioning of the graphics encoding data.
The system information region includes two symbols, where each symbol may indicate 4 binary data bits or bits. The system information area represents the size level of the graphic encoded data, i.e., levels 0 to 63, using 6 bits, and represents the error correction level of the graphic encoded data, i.e., levels 0 to 3, using 2 bits. The system information area is located in the upper left corner of the graphics coded data. The content setting of the backup information area is identical to that of the system information area, and the content in the system information area and the backup information area of the same pattern coded data is identical. The backup information area is located at the lower right corner of the graphic coded data. It should be appreciated that the backup information area and the system information area may be disposed at any reasonable location of the pattern encoded data.
Further, the original graphic encoding data in conformity with the encoding scale may further include sub-scalings, and the number of the sub-scalings may be 0 or at least one. The sub-scaling is used for auxiliary positioning, i.e. for auxiliary positioning of encoded data in the graphics encoded data. For example, sub-scaling is responsible for symbol positioning in graphically encoded data. The greater the number of sub-scales required as the more information is conveyed by the graphically encoded data.
The original graphic coding data conforming to the coding scale comprises: configuration information, header information, and data information. The configuration information may include the following: version number, header information flag bit, block flag bit, data information configuration, user-defined configuration data, header information configuration, and block configuration information. Wherein the version number occupies 2 bits: version numbers range from 00 to 11(0-3), giving a total of 4 versions. Header information flag bit occupies 1 bit: identify whether there is title information: 1- > has a title; 0- > without title. The block flag bit occupies 1 bit: for identifying whether the current image coded data is a block: 1- > the current graphics coded data is a subcode; 0- > the current graphics coded data is the mother code. The user-defined configuration data occupies 2 bits: from 00 to 11(0-3), a total of 4 custom configuration data versions can be represented.
The data information configuration occupies 16 bits and includes: encryption, zip flag, data type, and data length. Wherein the encryption mode occupies 2 bits: 00- > is not encrypted; 01- > default AESTR encryption; 10- > reserving a system; and 11- > user-defined encryption. The Zip flag bit occupies 1 bit: 1- > the content is coded after zip encryption; 0- > content is normally encoded. The data type occupies 1 bit: 0- > UTF-8 text; 1- > binary. The data length occupies 12 bits: for indicating the byte information (maximum 4095 bytes) included in the data information.
The header information configuration occupies 9 bits and includes: zip flag bits and data length. Wherein the zip flag bit occupies 1 bit: 1- > encoding with zip encrypted title; 0- > title is normal encoding. The data length occupies 8 bits: for indicating byte information (maximum 255 bytes) included in the header information.
The blocking configuration information occupies 70 bits and includes: the total number of blocks, the block number, and the hash value of the parent block. Where the total number of blocks (total number of subcodes) occupies 3 bits: from 000 to 111(0-7), a total represents 8 blocks in number, 000- > 1 block; 001- > 2 blocks in total; … … are provided. The block number (subcode number) occupies 3 bits: from 000 to 111(0-7), representing the current block number index, 000- > Block 1; 001- > block 2; … … are provided. The mother block hash value takes 64 bits: for identifying whether a plurality of sub-blocks are sub-blocks of the same mother block and identifying whether the mother block in which the sub-blocks are merged is correct. Wherein the 64-bit hash value may be obtained by selectively truncating the 128-bit hash value.
The header information indicates a header of the graphic encoded data as the mother code or the graphic encoded data as the child code. The data information is data content desired to be transmitted/expressed as the pattern code data of the mother code or the pattern code data of the child code.
The compression device 1107 is configured to compress header information and/or data information in the original graphics coding data to generate compressed graphics coding data, where the area of the compressed graphics coding data is smaller than or equal to the area of the original graphics coding data. For example, header information and/or data information in original graphics coding data is compressed by a zip method to generate compressed graphics coding data, and the area of the zip compressed graphics coding data is smaller than or equal to that of the original graphics coding data. This is because the header information and/or the data information may be compressed, which may result in a shorter length or width of the graphics-encoded data. The application also includes information transfer based on the compressed graphics encoding data.
The encryption device 1108 is configured to perform structure analysis on the data information, and divide the data information into a plurality of information subsets according to a result of the structure analysis. Wherein the structure parsing comprises semantic structure parsing and delimiter structure parsing. When the structure analysis is semantic structure analysis, performing structure analysis on the information content to be transmitted, and dividing the information content to be transmitted into a plurality of information subsets according to the result of the structure analysis comprises: semantic structure analysis is carried out on the information content to be transmitted to generate a plurality of semantic structure subunits; and dividing the information content to be transmitted into a plurality of information subsets according to the semantic structure subunits. When the structure analysis is separator structure analysis, the structure analysis is carried out on the information content to be transmitted, and the division of the information content to be transmitted into a plurality of information subsets according to the result of the structure analysis comprises the following steps: carrying out separator structure analysis on the information content to be transmitted to generate a plurality of separator structure subunits; and dividing the information content to be transmitted into a plurality of information subsets according to the plurality of separator structure subunits.
Dividing a data information area of the original pattern coding data which is not encrypted into a plurality of sub-areas according to each information subset, and determining an encryption unit and an encryption mode for each sub-area. And aiming at each sub-area, taking the encryption unit as a minimum encryption object and encrypting each encryption unit according to an encryption mode to generate encrypted graphic coding data. That is, the original graphics-encoded data that is not encrypted is divided into a plurality of objects and subjected to the same or different encryption processes. Alternatively, the method also comprises the steps of determining an encryption unit and an encryption mode for the original image coded data which is not encrypted; and taking the encryption unit as a minimum encryption object and encrypting each encryption unit according to an encryption mode to generate encrypted graphics coded data. That is, the original graphics-coded data that is not encrypted is subjected to encryption processing as a whole processing object.
In addition, the encryption mode of each encryption unit is the same or different. The encryption scheme is predetermined by a provider (e.g., an encoding maker, an encoding federation, etc.) that provides the graphics encoded data, or the encryption scheme is determined according to the needs of a user using the graphics encoded data. The encryption unit is a single coding unit, a plurality of coding units or a data block. In the present application, a single coding unit may be a symbol as shown in fig. 9. The data block may be a collection of data selected from the data information by semantics or by segmenters.
Wherein the generated encoding unit of the original graphic encoding data is circular, rectangular or elliptical, as shown in fig. 3.
The dividing means 1109 causes the provider of the graphic coded data to receive an information processing request for the collaborative service, wherein the information processing request includes information content associated with the collaborative service and a structure description file of the collaborative service. The cooperative service is a service that is collectively completed by a plurality of cooperative devices. Wherein when the provider of the graphics coded data determines that the generated graphics coded data relates to the collaborative service, an information processing request for the collaborative service is generated. The information content associated with the collaborative service is task information required to complete the collaborative service. The structure description file of the collaborative service is used for indicating the logical structure of the collaborative service, and the collaborative service can be divided into a plurality of sub-services based on the structure description file. Wherein each sub-service of the plurality of sub-services corresponds to a collaborative task to which the respective collaborative device relates.
Analyzing the structure description file of the collaborative service to determine a plurality of collaborative devices related to the collaborative service and a collaborative task related to each collaborative device, specifically including: parsing a structure description file of the collaborative service to determine a plurality of sub-services of the collaborative service; determining a cooperative device involved by each sub-service in a plurality of sub-services; analyzing the service content of each sub-service to determine a cooperative task; and determining the cooperative task involved by each cooperative device.
And generating original graphic coding data comprising data information according to the information content associated with the collaborative service, and dividing the data information in the generated original graphic coding data into a plurality of sub data information based on the collaborative task related to each collaborative device. Wherein generating original graphically encoded data comprising data information from information content associated with the collaborative service comprises: information content associated with the collaborative service is taken as data information, and original graphic encoding data including the data information is generated. The dividing of the data information in the original graphic coding data into a plurality of sub data information based on the cooperative task related to each cooperative device includes: determining collaboration data associated with a collaboration task to which each collaboration device relates; and dividing the data information in the original graphic coding data into a plurality of sub data information based on the cooperative data of each cooperative device.
Determining an association relationship between the plurality of cooperative devices, and determining a hierarchical relationship for each of a plurality of sub data information based on the association relationship. The association relationship among the plurality of cooperative devices includes: peer relationships, superior relationships, subordinate relationships, and conditional relationships. Determining a hierarchical relationship for each sub-data information of the plurality of sub-data information based on the association relationship comprises: when the relationship is a peer relationship or a conditional relationship, determining a hierarchical relationship of each subdata information in the plurality of subdata information as the same hierarchical relationship; and when the relationship is a higher-level relationship or a lower-level relationship, determining the hierarchy relationship of each sub-data information in the plurality of sub-data information as different hierarchy relationships.
The generated original graphic coded data is divided into a plurality of hierarchical graphic coded data based on the hierarchical relationship of each sub data information, and each hierarchical graphic coded data is distributed to a corresponding cooperative device for information processing. Header information is set for each hierarchical pattern encoding data, wherein the header information of each hierarchical pattern encoding data is the same as, different from, or related to the header information of the generated original pattern encoding data.
After each cooperative device carries out information processing according to the corresponding hierarchical graph coded data, the results produced by each cooperative device through the information processing are combined to generate a response message, and the response message is sent to a provider of the graph coded data.
Alternatively, the dividing means 1109 receives a code division request for dividing the generated original graphics encoding data. And analyzing the code division request to determine the number N of the subcodes. And dividing data information included in the generated original graphic coding data into N pieces of sub-data information. And dividing the generated original graphics coded data into N pieces of sub-coded data according to the N pieces of sub-data information. Each of the N sub-coded data is transmitted to a respective user equipment, wherein each user equipment is capable of receiving at least one sub-coded data. The title information is set for each sub-coded data, wherein the title information of each sub-coded data is the same as, different from or related to the title information of the generated original graphic coded data. A code division request for dividing specific sub-encoded data is received, and the specific sub-encoded data is divided into a predetermined number of grandchild encoded data according to the code division request.
It should be understood that the data information in the original graphics-encoded data may be equally divided into N parts of sub-information, and each of the N parts of sub-information is used to form each of the N sub-encoded data. The N parts of sub information have a sequence, and the sequence depends on the content of the data information, namely the N parts of sub information can form the data information after being combined according to the sequence numbers without modifying the sequence. In addition, the data information in the original graphics coding data can be divided into N parts of sub information unevenly. Alternatively, the data information in the original graphics coding data may be divided into N pieces of sub information according to a semantic structure, a separator structure, or the like.
As is apparent from the above description, a plurality of hierarchical pattern encoded data may be located at different levels, wherein each pattern encoded data may be divided into at most a predetermined number of pattern encoded data as subcodes. Hierarchical pattern coding data obtained by dividing original pattern coding data is positioned at the next level of the original pattern coding data. The new hierarchical graphics encoding data resulting from dividing a particular hierarchical graphics encoding data is located at a next level of the particular hierarchical graphics encoding data. For another example, when the number N of the sub-codes is 8, the original graphics encoding data can be divided into 8 sub-encoding data at most, and each sub-encoding data can be divided into 8 grandchild encoding data at most, and so on.
In the present application, the original pattern coded data conforming to the coding scale, the original pattern coded data, the generated original pattern coded data conforming to the coding scale, the generated original pattern coded data, and the generated original pattern coded data may refer to the same content.
Wherein the generated original graphics encoding data comprises: the system information includes size level information and error correction level information, and the backup information includes size level information and error correction level information. The generated original graphics-encoding data also includes sub-scaling.
The setting means 1110 may set, in the configuration information of the sub-coded data: the number of the sub-coded data, the sequence number of the sub-coded data, and the hash value of the original graphic coded data. The configuration information of the hierarchical graph coding data comprises: the number of the same-level graphic coded data, the serial number of the same-level graphic coded data and the hash value of the upper-level graphic coded data.
The header information is summary information of data information included in the generated graphics coded data in conformity with the coding scale. The data information of the sub-coded data includes a code error correction level of the original pattern-coded data and partial data information of the original pattern-coded data. Wherein each hierarchical graphically encoded data of the plurality of hierarchical graphically encoded data comprises: the error correction level of the upper graphics coded data and partial data information of the upper coded data. The configuration information further includes: configuration information version number, header information flag bit, block flag bit and custom configuration data. The configuration information further includes: the total number of code blocks, the current code block sequence number, and the hash value of the upper code block. The header information also includes a compression flag bit.
The method further comprises the following steps of generating encrypted pattern coding data by utilizing an encryption device, generating a hash character string for header information of the original pattern coding data which is not encrypted, carrying out byte-by-byte exclusive OR operation on data information of the original pattern coding data by using the hash character string, and encrypting the exclusive OR operated pattern coding data to generate the encrypted pattern coding data. After receiving the encrypted graphics coded data, decrypting the encrypted graphics coded data to generate graphics coded data to be processed, generating a hash character string for header information of the graphics coded data to be processed, and performing byte-by-byte exclusive OR operation on data information of the graphics coded data to be processed by using the hash character string to obtain the original graphics coded data which is not encrypted.
The invention has been described with reference to a few embodiments. However, other embodiments of the invention than the one disclosed above are equally possible within the scope of the invention, as would be apparent to a person skilled in the art from the appended patent claims.
Generally, all terms used in the claims are to be interpreted according to their ordinary meaning in the technical field, unless explicitly defined otherwise herein. All references to "a/an/the [ device, component, etc ]" are to be interpreted openly as referring to at least one instance of said device, component, etc., unless explicitly stated otherwise. The steps of any method disclosed herein do not have to be performed in the exact order disclosed, unless explicitly stated.