Abstract:
A terminal device and a user information synchronization method are disclosed. A terminal device parses and analyzes a Hypertext Transport Protocol (HTTP) packet flowing through the terminal device to detect whether Cookie information is included in the HTTP packet when a webpage is accessed, and stores relevant information into the terminal device when the Cookie information is detected; when it is detected that a user accesses the webpage again, if no Cookie information is included in an HTTP packet, the terminal device retrieves previously stored relevant Cookie information, modifies an HTTP request packet to be sent by adding the previously stored corresponding Cookie information to the HTTP request packet, so as to achieve the synchronization of the Cookie information of the user. The technical solution of the disclosure can automatically achieve the use of a data card user&#39;s Cookie information across multiple browsers and multiple Personal Computers (PCs) without installation of additional tools by the data card user on a PC, thereby effectively recording access preference and login information of the data card user, improving the usage experience of the data card user, and enhancing the overall competitiveness of driver-free data cards for a portable broadband wireless access device.

Description:
TECHNICAL FIELD 
       [0001]    The disclosure relates to the field of communication technology, and in particular to a terminal device and a user information synchronization method. 
       BACKGROUND 
       [0002]    With the increase of network bandwidth, particularly the rapid popularization of 3rd Generation (3G) mobile communication technology services, a data card, as a portable communication terminal, can provide a function of accessing a network, and a terminal device may access the network anytime and anywhere through the data card. Therefore, the data card is applied more and more widely, and also becomes an important Internet communication tool for businessmen. At the same time, as the continuous development of relevant technology of the data card, a driver-free data card has been widely applied due to features of no need of installing programs on a Personal Computer (PC) side, plug and play, rapid networking, supporting Web UI access and the like. Due to unique technical features, the driver-free data card cannot directly use many services implemented by a traditional data card. Therefore, original relevant technologies need to be reformed and innovated. 
         [0003]    Due to the adoption of Browse/Server (BS) structure, Web applications based on a Hypertext Transport Protocol (HTTP) has features of thin client, flexible implementation, uniform interface, simple protocol and the like, and has been widely applied in Internet. However, since the HTTP protocol adopts an operating mode of client request-server response and would not record relevant information of previous connection requests, this protocol has no memory for transaction processing. The lack of relevant information means that previous communication information must be retransmitted if needed in subsequent processing. This feature leads to increase of times of transmission or overlarge data amount to be transmitted each connection. In order to compensate this drawback, Cookie technology emerges at the right moment. Cookie is a kind of special information which a Web server generates and sends to a client to store during the process of browsing a Web page. The Cookie is a simple text file stored in a client, and the text file is associated with a specified Web document and stores the information involved when the client accesses this Web page, such as a user Identity (ID), a password, the browsed Web page, and duration of stay when the Web page is browsed. When the client accesses this Web page again, the Web page can acquire relevant information of the client by reading Cookie, and thus makes direct login, prompts welcomes, returns user-predefined personalized setting and gathers statistics of user access information, thereby greatly simplifying the operation behaviour of a Web visitor, meeting the requirement of personalized setting and providing a data basis for the Web server gathering behaviour characteristics of the visitor. 
         [0004]    At present, popular browsers such as IE, Firefox and Chrome all support Cookie function by default. However, since various browser manufacturers implement browsers by using different ways, different browsers store Cookie files at different locations by means of different manners, and thus different browsers cannot share Cookie information of a user. This means that if a user logs in one same website by using multiple browsers, the user needs to enter a user name or password many times or make page settings many times. Since the information of the Cookie file corresponds to a computer account used by the user, when the user visits a website with preset Cookie information by using a different computer account or a different computer, the user still needs to enter the user name or password again, thus increasing the trivialness of operations of the user. 
         [0005]    Therefore, how to implement synchronization of a data card user&#39;s Cookie information automatically by means of a data card becomes a research subject for those skilled in the art, so as to enable the data card user to use the Cookie information across multiple browsers and multiple PCs during the use of the data card, reduce the trivialness of operations of the user and improve usage experience of the data card user. 
       SUMMARY 
       [0006]    The disclosure provides a terminal device and a user information synchronization method. 
         [0007]    To this end, the disclosure provides a user information synchronization method, which includes that: 
         [0008]    a terminal device parses and analyzes all HTTP packets flowing through the terminal device to acquire domain name information of a website accessed by a user and detect whether Cookie information is included in the HTTP packet when a webpage is accessed, and the Cookie information is stored into the terminal device when the Cookie information is detected; 
         [0009]    when it is detected that the user accesses the webpage again, if no Cookie information is included in an HTTP packet, previously stored corresponding Cookie information is retrieved, an HTTP request packet to be sent is modified by adding the previously stored corresponding Cookie information to the HTTP request packet, and then the HTTP request packet is sent, so as to implement synchronization of the Cookie information of the user. 
         [0010]    The step of a terminal device parses and analyzes an HTTP packet flowing through the terminal device may include that: 
         [0011]    the terminal device filters and analyzes all packets flowing through the terminal device to filter out non-Transmission Control Protocol (TCP) request packets and non-HTTP request packets and to only analyze HTTP request packets. 
         [0012]    When a header of the HTTP request packet includes the Cookie information, Media Access Control (MAC) and Cookie information in the HTTP request packet may be acquired, and information of GET and HOST attributes in the HTTP protocol request packet may be acquired to form complete Uniform Resource Locator (URL) information, and the acquired information may be stored into an Encrypting File System (EFS) of the terminal device by using a preset data structure and an encryption algorithm. 
         [0013]    When no Cookie information is found in a header of the HTTP request packet, the terminal device may search in accordance with an MAC address and URL information in the HTTP request packet for corresponding Cookie information; 
         [0014]    when there is no corresponding Cookie information being searched out, the HTTP request packet may be directly forwarded without modification; and 
         [0015]    when the corresponding Cookie information is searched out, the corresponding Cookie information may be added to the header of the HTTP request packet in a format defined according to an HTTP protocol. 
         [0016]    Packet length information in an Internet Protocol (IP) header and a TCP header may be modified according to a TCP/IP protocol specification, and checking information in the IP header and the TCP header may be modified according to a check calculation method, so as to keep accuracy of the modified HTTP request packet. 
         [0017]    The disclosure also provides a terminal device, which includes: an information analysis unit, an information management unit and an information synchronization unit, wherein 
         [0018]    the information analysis unit is configured to: detect all packets flowing through a data card and filter all the packets; after acquiring an Hypertext Transport Protocol (HTTP) request packet, acquire Uniform Resource Locator (URL) information requesting to be accessed, and detect whether Cookie information of a user is included in the HTTP request packet; and send the Cookie information to the information management unit when the Cookie information is included in the HTTP request packet; 
         [0019]    the information management unit is configured to: according to the Cookie information provided by an interface and in combination with a relevant configuration attribute and command, store the Cookie information in a specific format, or acquire the Cookie information corresponding to the URL information to return the Cookie information to the information synchronization unit; and 
         [0020]    the information synchronization unit is configured to: modify the HTTP request packet, add the matched Cookie information of the user to a header of the HTTP protocol request packet, modify header information of a Transmission Control Protocol (TCP) packet, and send the modified packet. 
         [0021]    The terminal device may further include: a function setting unit integrated in a server inside the terminal device and configured to respond to a setting request from a data card user. 
         [0022]    The information analysis unit may be configured to filter and analyze all packets flowing through the terminal device to filter out non-TCP request packets and non-HTTP request packets and to only analyze HTTP request packets. 
         [0023]    When a header of the HTTP request packet includes the Cookie information, Media Access Control (MAC) and Cookie information in the HTTP request packet may be acquired, and information of GET and HOST attributes in the HTTP protocol request packet may be acquired to form complete URL information, and the acquired information may be stored into an Encrypting File System (EFS) of the terminal device by using a preset data structure and an encryption algorithm. 
         [0024]    When no Cookie information is found in a header of the HTTP request packet, the terminal device may search in accordance with an MAC address and URL information in the HTTP request packet for corresponding Cookie information; 
         [0025]    when there is no corresponding Cookie information being searched out, the HTTP request packet may be directly forwarded without modification; and 
         [0026]    when the corresponding Cookie information is searched out, the corresponding Cookie information may be added to the header of the HTTP request packet in a format defined according to an HTTP protocol. 
         [0027]    To sum up, the disclosure has the following beneficial effects: 
         [0028]    The technical solution of the disclosure can automatically achieve the use of a data card user&#39;s Cookie information across multiple browsers and multiple PCs without installation of additional tools by the data card user on a PC, thereby effectively recording access preference and login information of the data card user, improving the usage experience of the data card user, and enhancing the overall competitiveness of driver-free data cards for a portable broadband wireless access device. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0029]      FIG. 1  is a structural diagram of a terminal device according to an embodiment of the disclosure; 
           [0030]      FIG. 2  is a flowchart of an information synchronization method according to an embodiment of the disclosure; and 
           [0031]      FIG. 3  is a flowchart of filtering and analyzing a packet by an information analysis unit according to an embodiment of the disclosure. 
       
    
    
     DETAILED DESCRIPTION 
       [0032]    How to automatically implement synchronization of Cookie information of a user without installing a program on a PC side and without manual intervention is a problem to be solved in the disclosure. 
         [0033]    According to the implementation description and principle of Cookie relevant protocols, Cookie is a part of content transmitted during the interaction between a Web server side and a client (typically, a browser), of which the content may be arbitrary but within an allowed length range. The client stores Cookie in a local machine in a defined format, for example, the IE stores the Cookie into a txt file locally, and a client program manages and retrieves the txt file, wherein expired Cookie would be deleted automatically. Each time a client accesses a webpage in a directory under a domain, the client retrieves, according to a special rule, valid Cookie information saved locally which belongs to the directory under the domain, and finally sends relevant information to the server side through an HTTP protocol packet. By default, the HTTP protocol packet is transmitted on a network by using a non-encrypted mode, and the Cookie information to be transmitted is transmitted in a specified format Cookie: PREF=ID=bbf0cbbfe429532d:U=ef77fc46b692340e:FF=1:LD=zh. 
         [0034]    When a user terminal such as a data card accesses a webpage, all HTTP request packets and response packets need to be routed and forwarded by the data card. Therefore, by means of network packet analysis technology, parsing and analyzing all HTTP packets flowing through the data card may acquire domain name information of a website accessed by a user and may detect whether Cookie information is included when a webpage is accessed. If the Cookie information is detected, the relevant information can be stored in the data card by a specified manner. When it is detected that the user accesses the webpage again, if no Cookie information is included in an HTTP request packet, the data card may retrieve previously stored relevant Cookie information, modify the HTTP request packet to be sent by adding the previously stored Cookie information to the HTTP request packet and modifying checking information and a relevant attribute of the HTTP request packet, and finally send the HTTP request packet. Thus, automatic detection and automatic synchronization functions of user Cookie information are achieved. 
         [0035]    To clearly show the purpose, technical solution and advantages of the disclosure, embodiments of the disclosure are elaborated below in combination with the drawings. 
         [0036]      FIG. 1  is a structure diagram of a terminal device according to an embodiment of the disclosure. The embodiment is illustrated by taking a data card for an example, involving a Web browser  101  and a Web server. The data card includes a function setting unit  102 , an information analysis unit  103 , an information management unit  104  and an information synchronization unit  105 , each of which implements a different and relatively independent function. 
         [0037]    The function setting unit  102  is integrated in the Web server inside the data card, and may respond to a setting request from a data card user and complete setting actions such as start-up and shutdown of the synchronization function, multi-user synchronization and cancellation of user information. The function setting unit may accept relevant settings made to the functions of the disclosure by the data card user via the Web browser, such as setting of start-up and shutdown functions, whether to support multi-user synchronization, and user information cancellation. If a start-up function is set, the information analysis unit  103 , the information management unit  104  and the information synchronization unit  105  are started to work. If a shutdown function is set, the information analysis unit  103 , the information management unit  104  and the information synchronization unit  105  are stopped. If the multi-user synchronization function is set, the information analysis unit  103 , the information management unit  104  and the information synchronization unit  105  distinguish different computer users according to MAC addresses, and analyze and synchronize relevant Cookie information according to users. If the user information cancellation function is set, the data card cancels all previously stored Cookie information of a user to protect the data security of the user. 
         [0038]    The data card user accesses a setting management page provided by the data card through the Web browser  101 , to set the start-up and shutdown of the synchronization function, whether to support multi-user synchronization, and cancellation of user information. 
         [0039]    The information analysis unit  103  is mainly configured to: detect all packets flowing through the data card by means of a netfilter and the like inside the data card, filter all the packets according to the characteristics of different network layers of packets, and only detect and analyze the packets of an HTTP protocol and a relevant protocol. After an HTTP request packet is acquired, the information analysis unit  103  analyzes the HTTP header information included in the HTTP request packet, acquires the URL information requesting to be accessed, and detect whether Cookie information of a user is included in the HTTP request packet. If the Cookie information is included in the HTTP request packet, the information analysis unit  103  sends the Cookie information to the information management unit  104  to process, for example, update and store. If no Cookie information is included in the HTTP request packet, the information analysis unit  103  acquires through the information management unit  104  according to an MAC address, access URL information and the like whether the Cookie information of the user is stored previously. If the Cookie information of the user is not stored previously, the information analysis unit  103  forwards the packet without any modification. If the Cookie information of the user is stored previously, the information analysis unit  103  calls the information synchronization unit  105  to modify the HTTP request packet. 
         [0040]    The information management unit  104  in the data card is mainly configured to: according to MAC, URL and Cookie information and the like provided by an interface and in combination with a relevant configuration attribute and command, store the Cookie information in a specific format, or acquire the Cookie information corresponding to the URL to return the Cookie information to the information synchronization unit  105 . Since different levels of domain names correspond to different user Cookie information, the disclosure stores corresponding URL-MAC-Cookie information by using a tree-form data structure. When Cookie information corresponding to a URL is inquired, the data card traverses starting from the root node first-level nodes to find corresponding first-level domain names, and further traverse the second-level domain names under the first-level domain names until the Cookie information corresponding to the domain name is found. For security considerations, the tree-form structure of URL-MAC-Cookie information is stored in an EFS partition of the data card after simple encryption of a Data Encryption Standard (DES). 
         [0041]    The information synchronization unit  105  in the data card modifies the HTTP request packet according to the Cookie information transmitted by an interface by means of the netfilter and relevant technology, adds the matched user Cookie information to the header of the HTTP request packet, modifies checking information of the header of the TCP packet, and then sends the modified packet. Meanwhile, the information synchronization unit needs to appropriately modify the sequence number of the HTTP response packet and the relevant TCP packet returned after modification of the request packet. 
         [0042]    Refer to  FIG. 2 , which is a flowchart of an information synchronization method according to an embodiment of the disclosure. The method includes the following steps: 
         [0043]    Step  201 : A data card user accesses a setting management page provided by a data card through a Web browser, to make the setting of start-up of a synchronization function. After the synchronization function is started, a Cookie synchronization function is started immediately. 
         [0044]    Step  202 : All packets flowing through the terminal device are filtered and analyzed to filter out non-TCP request packets and non-HTTP request packets and to only analyze HTTP request packets. 
         [0045]    Step  203 : It is determined whether the header of an HTTP request packet includes Cookie attribute information. If the header of the HTTP request packet includes Cookie attribute information, Step  204  is executed. If the header of the HTTP request packet does not include Cookie attribute information, Step  205  is executed. 
         [0046]    Step  204 : MAC, URL and Cookie information and the like in the HTTP request packet is acquired, and the corresponding information is stored into the data card in a preset data structure. Then, Step  209  is executed. 
         [0047]    If the header of the HTTP request packet includes Cookie information, the MAC and Cookie information in the HTTP request packet is acquired, and meanwhile information of GET and HOST attributes in the HTTP request packet is acquired to form complete URL information. Finally, the acquired information is stored into the EFS of the data card in a preset data structure by using through an encryption algorithm, via the information management unit. 
         [0048]    Step  205 : It is determined, in combination with configuration, an MAC address, URL information and the stored Cookie information, whether there is corresponding Cookie information. If there is the corresponding Cookie information, Step  207  is executed. If there is no corresponding Cookie information, Step  206  is executed. 
         [0049]    If no Cookie information is found in the header of the HTTP request packet, it is found through the information management unit in combination with the MAC address and the URL information in the HTTP request packet whether there is previously stored corresponding Cookie information. 
         [0050]    Step  206 : If there is no previously stored corresponding Cookie information, the HTTP request packet is directly forwarded without modification. 
         [0051]    Step  207 : If there is the previously stored corresponding Cookie information, the acquired Cookie information is added to the header of the HTTP request packet in the format defined according to the HTTP protocol. 
         [0052]    Step  208 : The packet length and checking information in the IP header and the TCP header are modified, and the modified packet is sent. Then, Step  210  is executed. 
         [0053]    In order to keep the accuracy of the modified packet, the packet length information in the IP header and the TCP header is modified according to the TCP/IP protocol specification, and the checking information in the IP header and the TCP header is modified according to a check calculation method. 
         [0054]    Step  209 : After the Cookie information is acquired and stored, the packet is directly forwarded without modification. 
         [0055]    Step  210 : The packet is directly forwarded. 
         [0056]      FIG. 3  is a flowchart of filtering and analyzing a packet by an information analysis unit according to an embodiment of the disclosure. The flow includes the following steps: 
         [0057]    Step  301 : All packets flowing through a data card are analyzed. 
         [0058]    The information analysis unit analyzes all packets flowing through the data card to acquire relevant information of an MAC layer. 
         [0059]    Step  302 : Non-IP protocol packets are directly forwarded without analysis, and a source MAC address is acquired. 
         [0060]    According to the definition of MAC layer protocol, it is determined whether a packet of the MAC layer is an IP packet. If the packet of the MAC layer is not an IP packet, the packet is directly forwarded without analysis, and a next packet is analyzed. If the packet of the MAC layer is an IP packet, the corresponding source MAC address is acquired. 
         [0061]    Step  303 : Non-TCP protocol packets are directly forwarded without analysis. 
         [0062]    According to the definition of IP layer protocol, it is determined whether a packet of the IP layer is a TCP protocol packet. If the packet of the IP layer is not a TCP protocol packet, the packet is directly sent without analysis, and a next packet is analyzed. 
         [0063]    Step  304 : Non-HTTP protocol (the port is not 80/8080) packets are directly forwarded without analysis. 
         [0064]    According to the definition of TCP layer protocol, it is determined, according to whether the destination port is 80/8080, whether a packet of the TCP layer is an HTTP protocol packet. If the packet of the TCP layer is an HTTP protocol packet, the packet is directly forwarded without analysis. 
         [0065]    Step  305 : It is determined whether the information of the HTTP header is started with GET. If the information of the HTTP header is started with GET, Step  307  is executed. If the information of the HTTP header is not started with GET, Step  306  is executed. 
         [0066]    The HTTP protocol data information is analyzed to determine whether the HTTP header is started with GET information, thereby determining whether the HTTP packet is an HTTP request packet. 
         [0067]    Step  306 : If the packet is not an HTTP request packet, the packet is directly forwarded without analysis. 
         [0068]    Step  307 : GET and HOST information is acquired to form URL information. 
         [0069]    If the packet is an HTTP request packet, information of GET and HOST attributes in the HTTP header is acquired, and the information of the GET attribute and the information of the HOST attribute are combined to form complete URL information. 
         [0070]    Step  308 : It is determined whether the HTTP header includes Cookie information. If the HTTP header includes Cookie information, Step  309  is executed. If the HTTP header does not include Cookie information, Step  310  is executed. 
         [0071]    It is searched for in the HTTP header whether there is Cookie: attribute, so as to determine whether the HTTP header includes the Cookie information. 
         [0072]    Step  309 : If the HTTP header includes the Cookie information, a related interface of the information management unit is called to store or update the MAC-URL-Cookie information of the user. 
         [0073]    Step  310 : If the HTTP header does not include the Cookie information, a related interface of the information synchronization unit is called to acquire the previously stored Cookie information, and the request packet is modified and then sent. 
         [0074]    The technical solution of the disclosure can automatically record and match Cookie information of a user through the analysis and modification of a network packet. The disclosure can automatically achieve the use of Cookie information of a user across multiple browsers and multiple PCs without installation of additional tools by the data card user on a PC, thereby effectively recording access preference and login information of the user, improving the usage experience of the data card user and being convenient for users. 
         [0075]    Of course, the disclosure may also have many implementations. Those skilled in the art may make various corresponding modifications or changes without departing from the spirit and essence of the disclosure. Any modification, equivalent substitute and improvement made within the spirit and principle of the disclosure shall fall within the scope of protection of the claims of the disclosure.